当前位置: 首页 > 知识库问答 >
问题:

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

淳于玺
2023-03-14

我研究了Jasypt在属性文件中存储数据库加密密码的方法。它与Spring等有很好的集成,但这家伙提出的加密密码的方法对我来说有点奇怪:

>

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

这两种选择看起来都不安全,有点不安全。

我的问题:

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

共有1个答案

云炜
2023-03-14

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

>

  • 我们使用企业密码保管库来存储我们所有数据库的密码。我们的网络服务器每次都从保管库请求密码以连接数据库。

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

    直接使用db进行公钥/私钥加密是困难的,您需要一个中介来实现这一点。

  •  类似资料:
    • 问题内容: 在Java桌面应用程序中存储密码的推荐方式是什么? 我希望用户只能输入一次凭证,而不会再次提示。 在个人项目中,我一直在使用Preferences API,但我假设这与以纯文本格式存储(安全方面)没有什么不同。 非常感谢 编辑: 非常感谢您的建议。毫无疑问,这似乎有些混乱,因为我可能还没有把问题弄清楚。 我将给出一个假设的情况: 假设我正在为远程数据库创建一个简单的前端,该前端使用用户

    • 我正在寻找一个简单、安全的解决方案,使用Node存储用户密码。我是一个密码学新手,但是一直在试图通过网上搜索拼凑出一个解决方案。我正在寻找一种验证,即我所提出的是一个具有基本(而不是银行、医院等)安全需求的web应用程序的可靠解决方案。这是: …以下是我做出的选择让我走到了这一步: 使用什么哈希算法? 根据这篇被广泛引用的文章,看起来领先的竞争者是PBKDF2、bCrypt和scrypt。我选择P

    • 问题内容: 我正在寻找一种加密Java程序正在读取的配置文件中的密码的方法。目前,我从文本文件中读取了密码,但是如果有人要查看配置文件,那将使密码一直处于开放状态。 我正在考虑构建一个简单的类,其中用户可以输入所需的密码,获得密码的加密版本,然后将加密版本粘贴到配置文本文件中。然后,应用程序将读取加密的密码,将密码解密回字符串,然后继续。 我在使用字符串->加密字节->字符串转换时遇到了麻烦。 我

    • 问题内容: 您知道django密码的存储方式如下: 那就是“ hashtype $ salt $ hash”。我的问题是,他们如何获得$哈希?是将密码和salt组合在一起,然后进行哈希处理,还是完全其他? 问题答案: 与往常一样,使用源: 如我们所见,密码摘要是通过使用选定的哈希算法将盐和密码连接起来而制成的。然后,将算法名称,原始盐和密码哈希进行合并,并用“ $”分隔以构成摘要。 为了验证密码,

    • 问题内容: 我是Android开发和实现SSLSockets的新手。经过一些挖掘后,我能够设置一个可以正常工作的简单服务器/客户端。我觉得该实现可能需要花费一些工作,并且在不使用纯文本格式的情况下困扰于如何将密码加载到密钥库中。这是客户端上的一些代码。如您所见,我已将密码硬编码到本地变量中。有没有更好的方法来加载密钥库密码,所以我在代码中没有纯文本格式? 更新: 事实证明,客户端根本不需要知道密钥

    • 是否有任何方法(内置或附加)加密存储库中的单个文件,可供有限的人访问。这些人签入时的文件将在签出时自动加密和解密。如果其他人试图访问,它们将保持加密。