public static String decrypt(String data, String key) {
if (key.length() < 16) {
throw new RuntimeException("Invalid AES key length (must be 16 bytes)");
} else if (key.length() > 16) {
key = key.substring(0, 16);
}
try {
// 十六进制转换为二进制
byte[] decryptFrom = parseHexStr2Byte(data);
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);// 创建密码器
cipher.init(Cipher.DECRYPT_MODE, genKey(key));// 初始化
byte[] result = cipher.doFinal(decryptFrom);
return new String(result,"utf-8"); // 加密
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
实在没分了,实在翻译不过来,翻译过来又是乱码,实在没办法了。帮帮忙!