[英]how to store java application password safely in database
我有通过API连接到其他工具的Java应用程序。 当前,所有密码都存储在应用程序本地。
我想将它们安全地存储在数据库中,哈希数据库中的密码,并在运行时检索密码时解密。 这是最好的方法吗?
谢谢
您可以使用非对称密码术或其他任何方法安全地存储在数据库中
我将创建一个Spring-Boot应用程序。 Spring使用BCryptEncoder / -decoder以安全的方式将密码存储在数据库中。
如果您不想使用Spring,那么以下链接可以为您提供帮助。
https://www.stubbornjava.com/posts/hashing-passwords-in-java-with-bcrypt
如果只有管理员有权访问正在运行应用程序的服务器,则另一种选择是将机密信息(密码)作为环境变量提供。
访问它们的最基本方法是System.getEnv(String envKey)
。 例如:
export SOME_ENV_VARIABLE="your secret"; java -jar yourapplication.jar
export SOME_ENV_VARIABLE="your secret"; java -jar yourapplication.jar
;
如果您使用的是AWS或类似工具,则它们通常具有用于以安全方式存储这些机密的工具。
您可以使用加密哈希来存储密码。
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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.