如何使用jasypt加密mongo数据库密码?

sha*_*njo 1 spring mongodb jasypt spring-boot

spring.data.mongodb.uri=mongodb://用户:secret@mongo1.example.com:12345,mongo2.e xample.com:12345/mydb?replicaSet=rsdb

这里我想用 jasypt 加密密码(秘密)。所以网址应该是这样的:

spring.data.mongodb.uri=mongodb://用户:ENC(xIZhIV7nvOv5LqHfAKnvmjhyeecOT0lO)@mongo1.example.com:12345,mongo2.example.com:12345/mydb?replicaSet=rsdb

但即使 jasypt 加密逻辑已经实现,mongo 也不理解密码。

sha*_*njo 6

我得到了解决方案:

由于它不会解析 url 中的加密值,因此我们可以将其放入它自己的属性中,然后在 url 中引用该属性。

spring.data.mongodb.password=ENC(xIZhIV7nvOv5LqHfAKnvmjhyeecOT0lO)

spring.data.mongodb.uri=mongodb://用户:${spring.data.mongodb.password}@mongo1.example.com:12345,mongo2.example.com:12345/mydb?replicaSet=rsdb