admin管理员组

文章数量:1639675

使用jasypt加密

<dependency>
   <groupId>com.github.ulisesbocchio</groupId>
   <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>2.1.2</version>
</dependency>

1、增加配置文件jasypt.encryptor.password = chloe@2022,这是加密的秘钥;
2、所有明文密码替换为ENC(加密字符串),例如ENC(XW2daxuaTftQ+F2iYPQu0g==);

第三步的加密字符串的生成方式为:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=Afei@2018 algorithm=PBEWithMD5AndDES

其中:
input的值就是原密码。
password的值就是参数jasypt.encryptor.password指定的值,即秘钥。

BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
//加密所需的salt(盐)
textEncryptor.setPassword("G0CvDz7oJn6");
//要加密的数据(数据库的用户名或密码)
String username = textEncryptor.encrypt("root");
String password = textEncryptor.encrypt("root123");
System.out.println("username:"+username);
System.out.println("password:"+password);

将生成的加密串配置ENC(加密串)到application.properties中

# 加密所需的salt(盐)
jasypt.encryptor.password=G0CvDz7oJn6
# 默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES
# jasypt.encryptor.algorithm=PBEWithMD5AndDES
spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==)
spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)

添加注解,启用ENC加密

在服务入口类 SchemeApplication.java 中添加注解。

部署时配置salt(盐)值

java -jar -Djasypt.encryptor.password=G0CvDz7oJn6 xxx.jar

本文标签: 配置文件SpringBootenc