標籤:content ext ati ring form instance exce stat decode
技術交流群: 233513714
/** * AES加密測試 * * @param str 加密參數 */ public void aesTest(String str) { log.info("[rsaTest擷取請求:{}]", str); try { String encryptResult = AESUtil.encrypt(str, "123456"); log.info("[AES加密後的參數為:{}]", encryptResult); String decryptResult = AESUtil.decrypt(encryptResult, "123456"); log.info("[AES解密後的參數為:{}]", decryptResult); } catch (Exception e) { log.info("[AES加密解密出現異常:{}]", e); } } /** * AES加密 * * @param content 需要加密的內容 * @param password 加密密碼 * @return */ public static String encrypt(String content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); SecretKey secretKey = kgen.generateKey(); byte[] enCodeFormat = secretKey.getEncoded(); SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES"); Cipher cipher = Cipher.getInstance("AES"); byte[] byteContent = content.getBytes("utf-8"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] result = cipher.doFinal(byteContent); Base64 base64 = new Base64(); return base64.encodeToString(result); } catch (Exception e) { log.info("AES加密出現異常:{}", e); } return null; } /** * AES解密 * * @param content 待解密內容 * @param password 解密密鑰 * @return */ public static String decrypt(String content, String password) { try { Base64 base64 = new Base64(); byte[] text = base64.decode(content); KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); SecretKey secretKey = kgen.generateKey(); byte[] enCodeFormat = secretKey.getEncoded(); SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, key); byte[] result = cipher.doFinal(text); return new String(result); } catch (Exception e) { log.info("AES解密出現異常:{}", e); } return null; }
JAVA中使用AES加密解密