java - 如果我需要将密码解密为明文,如何加密数据库中的密码?

标签 java mysql encryption hash cryptography

我正在创建一个系统,该系统在数据库中存储用户名和密码列表,并使用它们登录某些站点并执行某些任务。 我想以安全的方式将密码存储在数据库中。由于我对散列的理解有限,我知道它不是我可以使用的东西,因为我需要稍后取回纯文本。我还听说在数据库中存储加密密码是一种不好的做法。那么我可以采取什么方法呢?

最佳答案

我想你自己回答了你的问题:

如果您需要存储用户名/密码以便用户可以对您的应用进行身份验证,推荐的方法是存储密码的哈希值。这样,即使您的数据库遭到破坏,也无法恢复密码。

但是您的情况不同。您想要存储用户名/密码列表以访问其他站点。正如您所说,您必须能够以明文形式取回它们。加密似乎是唯一的方法。

所有 password managers 都面临同样的问题:您的密码列表与您用来管理列表的“主”密码一样安全。

关于java - 如果我需要将密码解密为明文,如何加密数据库中的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584820/

相关文章:

php - AS 或不 AS,查询

MySql:如何删除 SELECT 和 UPDATE 之间的延迟

Java 使用 AES 256 和 128 对称 key 加密

Java密码套件

mysql - 删除由多个属性唯一标识的重复记录/对象

java - 我可以使用@Context注释注入(inject)哪些对象?

java - 如何使用 Struts2 验证打印特定的操作错误消息?

java - 动态自动调整 JTable 列的宽度

java - cipher 对象的 doFinal 方法返回 java.lang.ArrayIndexOutOfBoundsException

java - 整数性能 - x32 与 x64 jvm 相差 30-50 倍?