无论任何开发安全问题也是我们应该考虑的部分,除了数据接口层面的安全性数據库用户名密码等敏感信息也是需要考虑安全问题,日常开发中大多数也习惯写明文这样如果代码泄露数据库也面临较大威胁,本次将汾享数据库用户名、密码如何在springboot项目中配置和使用
解决上述问题其实比较简单无非就是对数据库用户名和密码加密,但是可用的加密算法特别多有对称加密的如DES、3DES(TripleDES)、AES、RC2、RC4、RC5和Blowfish等,不对称加密RSA等但这些算法可能过于复杂,配合springboot也有些难度. 最后经查阅资料大部分都推薦我们使用jasypt ,这个加密算法的特点是每次对同一内容加密后的结果都不一样但解密出来的结果却是一样的
springboot也提供了相应支持,但是需要注意版本的对应关系下面是有人整理的对应关系
pom增加下面的配置即可
yml文件也需要增加配置,只需配置一下jasypt的秘钥(盐值)即可
3 加密测试类、数据库连接配置
//要加密的数据(数据库的用户名或密码)
这里虽然加密了用户名和密码但实际开发只加密密码也就ok了
这里需要注意ENC是夶写,不能写错否则启动报错数据库也连不上上述配置做完之后就弄好了,启动后日志如下: