Java:在属性文件中存储加密数据库(和其他)密码的最佳选择是什么?

时间:2016-07-23 07:48:29

标签: java database encryption passwords jasypt

我检查Jasypt是否将数据库加密密码存储在属性文件中。它与Spring等有很好的集成,但这个人提出的加密密码的方法对我来说看起来有点奇怪:

  1. 使用PBE(对称算法)加密。

  2. 在环境变量或源代码中存储加密/解密密码。

  3. 这两个选项看起来都不安全且有点不安全。

    我的问题:

    1. 存储加密密码的最佳做法是什么?
    2. 我可以在这里使用基于密钥的加密(即私钥/公钥)吗?

1 个答案:

答案 0 :(得分:2)

在我们的应用程序中,我们使用两种方法:

  1. 我们使用企业密码保管库存储所有数据库的密码。我们的Web服务器每次都会从保管库请求密码以连接数据库。

  2. 我们将加密密码存储在属性文件中。 在应用程序启动期间,我们使用类加载器读取属性文件,并将其保存为系统变量,并在需要时使用它。

  3. 很难直接使用db进行公钥/私钥加密,你需要一个中介来执行此操作。