我检查Jasypt是否将数据库加密密码存储在属性文件中。它和Spring等有很好的集成,但这家伙提出的加密密码的方法对我来说有点奇怪:
-
使用PBE(对称算法)加密。
-
将用于加密/解密的密码存储在环境变量或源代码中。
这两种选择看起来都不安全,而且有点不安全。
我的问题:
- 存储加密密码的最佳做法是什么
- 我可以在这里使用基于密钥的加密(即私钥/公钥)吗
在我们的应用程序中,我们使用两种方法:
-
我们使用企业密码库来存储我们所有数据库的密码。我们的网络服务器每次都会从保险库请求密码来连接数据库。
-
我们将加密密码存储在属性文件中。在应用程序启动期间,我们使用类加载器读取属性文件,并将其保留为系统变量,并在需要时使用它。
直接使用数据库进行公钥/私钥加密是很困难的,您需要一个中介来完成这项工作。