1、起因,代码扫描不合格,配置文件不能使用明文密码。。
2、解决方案:项目使用的是Druid driver
可以在配置文件中启用ConfigFilter来进行加密操作
3、步骤
- 使用
com.alibaba.druid.filter.config.ConfigTools生成加密密码和公钥。
public class EncryptPwdUtil { public static void main(String[] args) { try { String password = "你的数据库密码"; String[] arr = ConfigTools.genKeyPair(512); System.out.println("druidPublicKey:" + arr[1]); System.out.println("hashedPassword:" + ConfigTools.encrypt(arr[0], password)); } catch (Exception e) { e.printStackTrace(); } } } - 更改配置文件
# 这里是加密后的密码
spring.datasource.druid.password=U0oBJ0F4rA4uZMp15SyCeSQL9dKICna6lSMrUWG4EhrVUkzSiuPJIAqcgcFeQgP0XDaNNneAQn7CdPpUZPxGaA==
# 这是公钥
app.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIM0BDWk2SCqlvWatlj/x1jiLZwRLu94fI2LkiXRk8mLFeprGCxSxxYeRG8eIf60LzFSpwFbfqDSswxwLBmDE6kCAwEAAQ==
# 配置 connection-properties,启用加密,配置公钥。
spring.datasource.druid.connection-properties=config.decrypt=true;config.decrypt.key=${app.publickey}
# 启动ConfigFilter
spring.datasource.druid.filter.config.enabled=true
重新启动服务即可
本文介绍如何使用Druid数据库连接池的ConfigFilter进行密码加密配置,以解决代码扫描发现的明文密码问题。通过生成加密密码和公钥,修改配置文件启用加密,并配置公钥,确保数据库连接的安全。
2437

被折叠的 条评论
为什么被折叠?



