// Path: SafeChat_Server/src/chat/common/Message.java
// public class Message implements Serializable{
// 	private String MessageType;
// 	private String Content;
// 	private String Time;
// 	private String Sender;
// 	private String Getter;
// 	private byte[] Key;	//秘钥
// 	
// 	
// 	
// 	public Message(String messageType, String sender, byte[] key) {
// 		super();
// 		MessageType = messageType;
// 		Sender = sender;
// 		Key = key;
// 	}
// 
// 
// 
// 
// 
// 
// 
// 
// 	public Message(Message message){
// 		this.setContent(message.getContent());
// 		this.setGetter(message.getGetter());
// 		this.setSender(message.getSender());
// 		this.setMessageType(message.getMessageType());
// 		this.setTime(message.getTime());
// 		this.setKey(message.getKey());
// 	}
// 	
// 	
// 	
// 	
// 
// 	
// 	
// 
// 	public byte[] getKey() {
// 		return Key;
// 	}
// 
// 
// 
// 
// 
// 
// 	public void setKey(byte[] key) {
// 		Key = key;
// 	}
// 
// 
// 
// 
// 
// 
// 	public Message(){
// 		
// 	}
// 	
// 	public Message(String MessageType,String Content,String Time,String Sender,String Getter){
// 		this.MessageType = MessageType;
// 		this.Content = Content;
// 		this.Time = Time;
// 		this.Sender = Sender;
// 		this.Getter = Getter;
// 	}
// 
// 	public String getMessageType() {
// 		return MessageType;
// 	}
// 
// 	public void setMessageType(String messageType) {
// 		MessageType = messageType;
// 	}
// 
// 	public String getContent() {
// 		return Content;
// 	}
// 
// 	public void setContent(String content) {
// 		Content = content;
// 	}
// 
// 	public String getTime() {
// 		return Time;
// 	}
// 
// 	public void setTime(String time) {
// 		Time = time;
// 	}
// 
// 	public String getSender() {
// 		return Sender;
// 	}
// 
// 	public void setSender(String sender) {
// 		Sender = sender;
// 	}
// 
// 	public String getGetter() {
// 		return Getter;
// 	}
// 
// 	public void setGetter(String getter) {
// 		Getter = getter;
// 	}
// 	
// 	
// }


import java.io.IOException;
import java.util.UUID;
import chat.common.Message;
package chat.utils;



public class DecryptionUtils {

	/**
	 * RSA解密
	 * @param filePrivateKeyName 要使用的私钥的文件路径
	 * @param data 要解密的数据
	 * @return 返回解密后的数据
	 */
	public static byte[] decryptByPrivateKey(String filePrivateKeyName,byte[] data){
		//1.读取文件名为:filePrivateKeyName的密钥文件
		String key = IOUtils.ReadKeyFile(filePrivateKeyName);
		  try {
			//2.用读取出来的密钥对数据进行解密
			byte[] decodedData = RSAUtils.decryptByPrivateKey(data, key);
			return decodedData;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
		return null;
	}
	
	/**
	 * 服务器解密消息
	 * @param filePrivateKeyName 要使用的私钥的文件路径
	 * @param message 接受的消息
	 */
// Path: SafeChat_Server/src/chat/common/Message.java
// public class Message implements Serializable{
// 	private String MessageType;
// 	private String Content;
// 	private String Time;
// 	private String Sender;
// 	private String Getter;
// 	private byte[] Key;	//秘钥
// 	
// 	
// 	
// 	public Message(String messageType, String sender, byte[] key) {
// 		super();
// 		MessageType = messageType;
// 		Sender = sender;
// 		Key = key;
// 	}
// 
// 
// 
// 
// 
// 
// 
// 
// 	public Message(Message message){
// 		this.setContent(message.getContent());
// 		this.setGetter(message.getGetter());
// 		this.setSender(message.getSender());
// 		this.setMessageType(message.getMessageType());
// 		this.setTime(message.getTime());
// 		this.setKey(message.getKey());
// 	}
// 	
// 	
// 	
// 	
// 
// 	
// 	
// 
// 	public byte[] getKey() {
// 		return Key;
// 	}
// 
// 
// 
// 
// 
// 
// 	public void setKey(byte[] key) {
// 		Key = key;
// 	}
// 
// 
// 
// 
// 
// 
// 	public Message(){
// 		
// 	}
// 	
// 	public Message(String MessageType,String Content,String Time,String Sender,String Getter){
// 		this.MessageType = MessageType;
// 		this.Content = Content;
// 		this.Time = Time;
// 		this.Sender = Sender;
// 		this.Getter = Getter;
// 	}
// 
// 	public String getMessageType() {
// 		return MessageType;
// 	}
// 
// 	public void setMessageType(String messageType) {
// 		MessageType = messageType;
// 	}
// 
// 	public String getContent() {
// 		return Content;
// 	}
// 
// 	public void setContent(String content) {
// 		Content = content;
// 	}
// 
// 	public String getTime() {
// 		return Time;
// 	}
// 
// 	public void setTime(String time) {
// 		Time = time;
// 	}
// 
// 	public String getSender() {
// 		return Sender;
// 	}
// 
// 	public void setSender(String sender) {
// 		Sender = sender;
// 	}
// 
// 	public String getGetter() {
// 		return Getter;
// 	}
// 
// 	public void setGetter(String getter) {
// 		Getter = getter;
// 	}
// 	
// 	
// }


// Path: SafeChat_Server/src/chat/utils/DecryptionUtils.java
import java.io.IOException;
import java.util.UUID;
import chat.common.Message;

package chat.utils;



public class DecryptionUtils {

	/**
	 * RSA解密
	 * @param filePrivateKeyName 要使用的私钥的文件路径
	 * @param data 要解密的数据
	 * @return 返回解密后的数据
	 */
	public static byte[] decryptByPrivateKey(String filePrivateKeyName,byte[] data){
		//1.读取文件名为:filePrivateKeyName的密钥文件
		String key = IOUtils.ReadKeyFile(filePrivateKeyName);
		  try {
			//2.用读取出来的密钥对数据进行解密
			byte[] decodedData = RSAUtils.decryptByPrivateKey(data, key);
			return decodedData;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
		return null;
	}
	
	/**
	 * 服务器解密消息
	 * @param filePrivateKeyName 要使用的私钥的文件路径
	 * @param message 接受的消息
	 */
	public static void decryptMessage(String filePrivateKeyName,Message message) throws IOException{