1.引入pom
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency>
2.配置application信息
jasypt: encryptor: # 加密算法 algorithm: PBEWITHHMACSHA512ANDAES_256 # 加密使用的盐 password: xxxxx_password
3.编写测试代码获取加密后的数据
/** * 加密解密测试 */ @SpringBootTest @RunWith(SpringRunner.class) public class Test { @Autowired private StringEncryptor stringEncryptor; /** * 加密解密测试 */ @Test public void jasyptTest() { // 加密 System.out.println(stringEncryptor.encrypt("root")); // JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg // 解密 System.out.println(stringEncryptor.decrypt("JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg")); // root } /** * 手动测试 */ @Test public void test() { PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); SimpleStringPBEConfig config = new SimpleStringPBEConfig(); config.setPassword("jaspyt_password"); config.setAlgorithm("PBEWITHHMACSHA512ANDAES_256"); config.setKeyObtentionIterations("1000"); config.setPoolSize("1"); config.setProviderName("SunJCE"); config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator"); config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator"); config.setStringOutputType("base64"); encryptor.setConfig(config); System.out.println(encryptor.encrypt("root")); // JSrINYe4IBotHndGjX1hnmY3mtPNUJlXjP12cx1+pHqUz2FNXGPu3Frnajh3QCXg } }
4.替换数据库配置
最后启动项目测试ok。
## 最后,我这里走的是官方配置,大家也可以自定义bean去编写自己的配置。
标签:加密,SpringBoot,配置文件,jasypt,encryptor,Test,password,config From: https://www.cnblogs.com/databank/p/17833724.html