下面就是Java使用Hutool实现AES、DES加密解密的方法的完整攻略:
1. 引入Hutool及相关依赖库
首先,在项目的pom.xml
文件中添加Hutool依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.3</version>
</dependency>
2. 示例一:AES加密解密
2.1. AES加密
以下是使用Hutool实现AES加密的代码示例:
import cn.hutool.crypto.symmetric.AES;
public class AesTest {
public static void main(String[] args) {
// 随机生成密钥
byte[] key = AES.generateKey();
// 将密钥转换成Base64字符串,便于存储和传输
String keyStr = Base64.getEncoder().encodeToString(key);
// 待加密的数据
String data = "Hello, world!";
// 创建AES对象,指定填充方式和模式
AES aes = new AES(AES.DEFAULT_KEY_SIZE, AES.DEFAULT_IV_PARAMETER_SPEC);
// 加密数据,返回加密后的Base64字符串
String encrypt = aes.encryptBase64(data);
System.out.println("密钥:" + keyStr);
System.out.println("加密后数据:" + encrypt);
}
}
2.2. AES解密
以下是使用Hutool实现AES解密的代码示例:
import cn.hutool.crypto.symmetric.AES;
public class AesTest {
public static void main(String[] args) {
String keyStr = "rSIT4VTPm/LoeqY2cNG2Wg==";
String encrypt = "6vITriA5qTNb+Pf9RgxJkw==";
// 将Base64字符串的密钥转换成byte数组
byte[] key = Base64.getDecoder().decode(keyStr);
// 创建AES对象,指定填充方式和模式,并传入密钥
AES aes = new AES(AES.DEFAULT_KEY_SIZE, AES.DEFAULT_IV_PARAMETER_SPEC, key);
// 解密数据,返回解密后的字符串
String decrypt = aes.decryptStr(encrypt);
System.out.println("解密后数据:" + decrypt);
}
}
3. 示例二:DES加密解密
3.1. DES加密
以下是使用Hutool实现DES加密的代码示例:
import cn.hutool.crypto.symmetric.DES;
public class DesTest {
public static void main(String[] args) {
// 随机生成密钥
byte[] key = DES.generateKey();
// 将密钥转换成Base64字符串,便于存储和传输
String keyStr = Base64.getEncoder().encodeToString(key);
// 待加密的数据
String data = "Hello, world!";
// 创建DES对象,指定填充方式和模式
DES des = new DES();
// 加密数据,返回加密后的Base64字符串
String encrypt = des.encryptBase64(data);
System.out.println("密钥:" + keyStr);
System.out.println("加密后数据:" + encrypt);
}
}
3.2. DES解密
以下是使用Hutool实现DES解密的代码示例:
import cn.hutool.crypto.symmetric.DES;
public class DesTest {
public static void main(String[] args) {
String keyStr = "dx5+4CNoaqg=";
String encrypt = "y9f+J5hmqvk=";
// 将Base64字符串的密钥转换成byte数组
byte[] key = Base64.getDecoder().decode(keyStr);
// 创建DES对象,指定填充方式和模式,并传入密钥
DES des = new DES(key);
// 解密数据,返回解密后的字符串
String decrypt = des.decryptStr(encrypt);
System.out.println("解密后数据:" + decrypt);
}
}
以上就是使用Hutool实现AES、DES加密解密的完整攻略,希望能帮到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用Hutool实现AES、DES加密解密的方法 - Python技术站