如何在数据库中安全存储Java应用程序密码

时间:2019-07-02 12:35:34

标签: java database passwords

我有一个通过API连接到其他工具的Java应用程序。当前,所有密码都存储在应用程序本地。

我想将它们安全地存储在数据库中, 在数据库中哈希密码,并在运行时检索密码时解密。这是最好的方法吗?

谢谢

4 个答案:

答案 0 :(得分:0)

您可以使用非对称密码学或其他任何方法安全地存储在数据库中

答案 1 :(得分:0)

我将创建一个Spring-Boot应用程序。 Spring使用BCryptEncoder / -decoder将密码安全地存储在数据库中。

如果您不想使用Spring,也许以下链接可以为您提供帮助。

https://www.stubbornjava.com/posts/hashing-passwords-in-java-with-bcrypt

答案 2 :(得分:0)

如果只有管理员可以访问正在运行应用程序的服务器,另一种替代方法是提供机密(密码)作为环境变量。

访问这些内容的最基本方法是System.getEnv(String envKey)。例如:

export SOME_ENV_VARIABLE="your secret"; java -jar yourapplication.jar;

如果您使用的是AWS或类似工具,则它们通常具有用于以安全方式存储这些机密的工具。

答案 3 :(得分:0)

您可以使用加密哈希存储密码。

https://auth0.com/blog/hashing-passwords-one-way-road-to-security/

如果您想提高安全性,则可以在哈希中添加盐。

https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/