用户注册时密码加密使用jasypt
- 需要的jar包依赖
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
- 加密操作
// 生成加密的使用jasypt RandomSaltGenerator盐
RandomSaltGenerator randomSaltGenerator = new RandomSaltGenerator();
// 加密的盐、记得一定要将随机数保存、解密时也是需要盐的
String salt = randomSaltGenerator.generateSalt(12).toString();
BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
// 设置盐
basicTextEncryptor.setPassword(salt);
// 对密码进行加密
String password = basicTextEncryptor.encrypt(要加密的密码);
- 解密操作
// 获取注册时保存的盐、这里以定值进行举例
String salt = "[B@33fb20ce";
BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
// 获取保存的盐、并设定
basicTextEncryptor.setPassword(salt);
String password = textEncryptor.decrypt(要解密的密码);
以上可能还需要将密码进行进一步加密,例如使用MD5,可以嵌套使用。
String password = basicTextEncryptor.encrypt(MD5(要加密的密码));
其实是在MD5基础上又加密了一层,解密后其实是MD5加密的密码。
好了以上就是我对jasypt简单的使用,如果有其他见解,请多多分享。