▶ Spring Boot 依賴與配置 Maven 依賴 ▶ 使用說明 假設有配置項 不能明文顯示,則可以使用 的 演算法加密演算法進行如下配置: 為自定義值,用此密碼加密的明文,需要用此密碼解密密文 為 提供的加密標識,Spring Boot 服務啟動時,載入各種 properties 時會依據此標識 ...
▶ Spring Boot 依賴與配置
Maven 依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
▶ 使用說明
假設有配置項 com.anoyi.custom.name=anoyi
不能明文顯示,則可以使用 jasypt
的 PBEWithMD5AndDES
演算法加密演算法進行如下配置:
com.anoyi.custom.name=ENC(TqrnYZn55aFVwnSo2TrbFA==)
jasypt.encryptor.password=anoyi
jasypt.encryptor.password
為自定義值,用此密碼加密的明文,需要用此密碼解密密文ENC(...)
為jasypt
提供的加密標識,Spring Boot 服務啟動時,載入各種 properties 時會依據此標識判斷是否解密賦值,可自定義TqrnYZn55aFVwnSo2TrbFA==
為明文字元串anoyi
通過密碼anoyi
加密後得到的值,此值不唯一,即同一明文通過同一密碼加密會得到不同的值
▶ 配置說明
基於 Password 的加密配置
參數 | 必填 | 預設值 |
---|---|---|
jasypt.encryptor.password | True | - |
jasypt.encryptor.algorithm | False | PBEWithMD5AndDES |
jasypt.encryptor.keyObtentionIterations | False | 1000 |
jasypt.encryptor.poolSize | False | 1 |
jasypt.encryptor.providerName | False | SunJCE |
jasypt.encryptor.providerClassName | False | null |
jasypt.encryptor.saltGeneratorClassname | False | org.jasypt.salt.RandomSaltGenerator |
jasypt.encryptor.ivGeneratorClassname | False | org.jasypt.salt.NoOpIVGenerator |
jasypt.encryptor.stringOutputType | False | base64 |
jasypt.encryptor.proxyPropertySources | False | false |
最新版的 jasypt
還支持非對稱加密、自定義加密器等等功能,更多信息:
MORE :https://github.com/ulisesbocchio/jasypt-spring-boot
▶ 配置參數加解密
添加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
示例加解密字元串 anoyi
@RunWith(SpringRunner.class)
@SpringBootTest
public class EncryptTest {
@Autowired
private StringEncryptor jasyptStringEncryptor;
@Test
public void encrypt() {
String encryptStr = jasyptStringEncryptor.encrypt("anoyi");
System.out.println(encryptStr);
}
@Test
public void decrypt() {
String encryptStr = jasyptStringEncryptor.decrypt("TqrnYZn55aFVwnSo2TrbFA==");
System.out.println(encryptStr);
}
}
▶ Github Demo URL
- https://github.com/ChinaSilence/spring-boot-demos/tree/master/05%20-%20config%20encrypt
© 著作權歸作者所有,轉載或內容合作請聯繫作者
● 史上最輕鬆入門之Spring Batch - 輕量級批處理框架實踐
● APM工具尋找了一圈,發現SkyWalking才是我的真愛
● Spring Boot 註入外部配置到應用內部的靜態變數
● Java 使用 UnixSocket 調用 Docker API
● Service Mesh - gRPC 本地聯調遠程服務
本文由博客一文多發平臺 OpenWrite 發佈!