我检查Jasypt用于在属性文件中存储数据库加密密码。它与 Spring 等有很好的集成,但是这些人提出的加密密码的方法对我来说看起来有点奇怪:
使用 PBE(对称算法)加密。
将加密/解密密码存储在环境变量或源代码中。
这两个选项看起来都不安全,而且有点不安全。
我的问题:
- 存储加密密码的最佳做法是什么?
- 我可以在此处使用基于 key 的加密(即私钥/公钥)吗?
最佳答案
在我们的应用程序中,我们使用两种方法:
我们使用企业密码库来存储我们所有数据库的密码。我们的网络服务器每次都向保管库请求密码以连接数据库。
我们将加密密码存储在属性文件中。 在应用程序启动期间,我们使用类加载器读取属性文件并将其保留为系统变量并在需要时使用它。
直接使用数据库进行公钥/私钥加密是很困难的,您需要一个中介来做到这一点。
关于Java:在属性文件中存储加密数据库(和其他)密码的最佳选择是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38539469/