在 Spring 引导中存储 MongoDB 用户的可配置加密密码

Storing configurable encrypted password of MongoDB User in Spring Boot

我已将 MongoDB 的密码存储在 spring.data.mongodb.password 属性 中 application.yml 文件中 spring 引导项目。我需要对其进行加密,以免任何人直接访问它。我不打算为它做任何代码更改,但想通过某种 spring 引导配置来实现它。

任何人(当然使用该应用程序的人)都不应访问属性文件...鉴于这是理所当然的,那么我想您是指从事您的项目的其他人,在那种情况下我猜可能的解决方案是使用 BCEncryptor 对密码进行编码并将其存储在属性文件或侧数据库中,然后在应用程序启动时通过配置 class 或 XML 对其进行解密。

在任何其他情况下,您可以在 MongoDB 中创建一个辅助用户,只授予该用户所需的权限。

但是,我仍然看不到它的用途,因为如果有人可以访问您的应用程序的后端...

问题已解决。问题出在 jasypt 版本上。我使用的是 jasypt-3.0.0,它适用于 2.0.0。在项目中配置 jasypt 的完整步骤可以在这里找到:
https://medium.com/@mail2rajeevshukla/hiding-encrypting-database-password-in-the-application-properties-34d59fe104eb

我已经在 application.yml 本身传递了密钥,因为上述 3 种方法在我的情况下不起作用。 杰西普: 加密器: 密码:密钥