如何使用jaspyt sm4 进行yml密码加密
时间: 2023-09-09 17:08:32 浏览: 153
使用Jasypt和SM4算法对YAML文件进行加密可以保护敏感信息,比如数据库连接字符串和密码等。下面是使用Jasypt和SM4算法对YAML文件进行加密的步骤:
1. 添加Jasypt和SM4算法依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>cn.edu.nwpu</groupId>
<artifactId>sm4</artifactId>
<version>1.0</version>
</dependency>
```
2. 在application.yml文件中添加加密配置
在application.yml文件中添加以下配置:
```yaml
jasypt:
encryptor:
algorithm: sm4
password: your_password
```
其中,`your_password`是用于加密和解密的密码,可以自行设置。
3. 对敏感信息进行加密
在application.yml文件中需要进行加密的敏感信息,可以用以下格式进行加密:
```yaml
db:
username: ENC(encrypted_username)
password: ENC(encrypted_password)
```
其中,`encrypted_username`和`encrypted_password`是使用Jasypt和SM4算法加密后的用户名和密码。可以使用Jasypt提供的命令行工具进行加密,或者在代码中使用Jasypt提供的API进行加密。下面是使用Jasypt命令行工具进行加密的示例:
```bash
# 加密命令
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="your_username" password="your_password" algorithm="sm4" providerName="BC" saltGeneratorClassName="org.jasypt.salt.RandomSaltGenerator" ivGeneratorClassName="org.jasypt.iv.RandomIvGenerator" keyObtentionIterations="1000"
# 解密命令
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="encrypted_username" password="your_password" algorithm="sm4" providerName="BC" saltGeneratorClassName="org.jasypt.salt.RandomSaltGenerator" ivGeneratorClassName="org.jasypt.iv.RandomIvGenerator" keyObtentionIterations="1000"
```
将加密后的用户名和密码分别替换掉`encrypted_username`和`encrypted_password`即可。
以上就是使用Jasypt和SM4算法对YAML文件进行加密的步骤,希望对你有所帮助。
阅读全文