为什么要使用Jasypt?
当我们需要在配置文件中存储敏感信息时——这意味着我们实际上是在使这些信息容易受到攻击;这包括任何类型的敏感信息,例如凭据,但肯定不止这些。
通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值的工作。
使用jasypt -spring-boot-starter
我们需要向我们的项目添加一个依赖项:
设置加密的盐
设置加密盐的方式有几种,常用的有:
- application.properties中设置jasypt.encryptor.password=salt
- 在idea启动配置中设置
这里需要注意的是:jasypt.encryptor.password=salt可以直接写在application.properties中的,仅限开发生成加密后的密码时,发布生产的时候建议:
java -jar demo.jar -Djasypt.encryptor.password=salt
生成密码
通过使用StringEncryptor的encrypt方法,可以生成密码:
验证
我们用加密后的密码,设置一下数据库密码,注意密码要用ENC(加密后的密码),测试一下:
运行代码,可以看到加密出来的密码是正确的。