/**
* deEncryption method.
*
* @param data
* @param key
* @param iv
* @return
* @throws Exception
*/
public static String desEncrypt(String data, String key, String iv) throws Exception {
byte[] encrypted = new BASE64Decoder().decodeBuffer(data);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES");
IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes());
cipher.init(Cipher.DECRYPT_MODE, keySpec, ivParameterSpec);
byte[] original = cipher.doFinal(encrypted);
String originalString = new String(original);
return originalString;
}
/**
* encryption method.
* @param key 随机生成的aesKey加密因子
* @param initVector
* @param value the data to be encrypted.
* @return
*/
public static String encrypt(String key, String initVector, String value) {
try {
IvParameterSpec iv = new IvParameterSpec(initVector.getBytes("UTF-8"));
SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7PADDING");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = cipher.doFinal(value.getBytes());
System.out.println("encrypted string: "
+ new BASE64Encoder().encode(encrypted));
return new BASE64Encoder().encode(encrypted);
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}
Android中AES加密和解密
最新推荐文章于 2026-07-03 05:10:01 发布
本文介绍了一种基于AES算法的CBC模式加解密方法实现。包括使用随机生成的AES密钥进行数据加密的过程,以及如何利用相同的密钥和初始化向量进行数据解密的方法。该实现使用了Java语言,并提供了完整的加密和解密示例代码。

1万+

被折叠的 条评论
为什么被折叠?



