📄 utils.java
字号:
/**
* 这个类定义了全局定量
* 整个project多个类经常要使用的静态方法
*/
package src;
import java.io.*;
import java.security.Key;
public class Utils {
public final static long LIFETIME = 60000;
public final static String ID_TGS = "123456789";
public final static String UTF = "UTF8";
public final static String KEY_PATH = "keys/";
public final static String TGS_KEY = "tgs";
public final static String AES_POSTFIX = ".aes";
public final static String RSA_POSTFIX = ".rsa";
public final static String PUBLIC_CLIENT_KEY = "client_public";
public final static String SERVER_KEY = "server";
/**
* 获得当前的时间戳
* @return
*/
public static long getCurrentTime(){
return System.currentTimeMillis();
}
/**
* 从文件读取密钥
* @param keyPath
* @param keyName
* @return key
*/
public static Object getKey(String keyPath, String keyName){
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(keyPath + keyName));
Object key = in.readObject();
in.close();
if(key != null && key instanceof Key)
return key;
} catch (Exception e) {}
return null;
}
/**
* 客户端加密解密方法
* @param bytes
* @param encrypt_decrypt
* @return
*/
public static byte[] encrypt_decrypt_client(byte[] bytes, boolean encrypt_decrypt){
RSACryptography rsa = new RSACryptography();
Object keyObject = Utils.getKey(Utils.KEY_PATH, Utils.PUBLIC_CLIENT_KEY + Utils.RSA_POSTFIX);
Key key = (Key)keyObject;
byte[] plainBytes = rsa.encrypt_decrypt(bytes, key, encrypt_decrypt);
return plainBytes;
}
/**
* TGS服务器加密解密方法
* @param bytes
* @param encrypt_decrypt
* @return
*/
public static byte[] encrypt_decrypt_tgs(byte[] bytes, boolean encrypt_decrypt){
AESCryptography aes = new AESCryptography();
Object keyObject = Utils.getKey(Utils.KEY_PATH, Utils.TGS_KEY + Utils.AES_POSTFIX);
Key key = (Key)keyObject;
byte[] plainBytes = aes.encrypt_decrypt(bytes, key, false);
return plainBytes;
}
/**
* 应用服务器加密解密方法
* @param bytes
* @param encrypt_decrypt
* @return
*/
public static byte[] encrypt_decrypt_server(byte[] bytes, boolean encrypt_decrypt){
AESCryptography aes = new AESCryptography();
Object keyObject = Utils.getKey(Utils.KEY_PATH, Utils.SERVER_KEY + Utils.AES_POSTFIX);
Key key = (Key)keyObject;
byte[] plainBytes = aes.encrypt_decrypt(bytes, key, false);
return plainBytes;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -