⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utils.java

📁 一个简单的实现Kerberos验证的程序
💻 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 + -