Spring Boot中使用ENC加密
防止密码明文暴露,从而导致数据库、redis、mq、email等安全问题。使用ENC加密,有效防止他人窥视。
第一步 导入依赖
在pom文件中加入下方代码:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
直接使用最新的依赖,如3.0.3。直接使用会导致依赖之间不兼容,导致系统启动失败。选择合适自己系统的版本很容中。
第二步 密文获取
话不多说,直接上代码:
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
public class JasyptEncryptor {
public static void main(String[] args) {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setAlgorithm("PBEWithMD5AndDES");
encryptor.setPassword("gugu");
String encryptText = encryptor.encrypt("123123");
System.out.println("数据库密码加密后的数据:"+ encryptText);
String decryptText = encryptor.decrypt(encryptText);
System.out.println("数据库密码解密后的数据:" + decryptText);
}
}
执行结果(注意:每次执行的加密后数据不一样的):