【发布时间】:2011-11-02 11:30:26
【问题描述】:
我需要将数据库密码保存为加密字符串,然后在连接前解密。
谁能给我推荐一个好的Java双向加密库?
【问题讨论】:
-
如果您使用基于密码的加密(一种双向技术)对您的密码进行加密,并且攻击者知道了您的加密密码,那么您的所有用户密码都将被泄露(并且可能全部在一次)。如果您没有这样的加密密码(或密钥)来解密,这种风险就会消失,攻击者将不得不信任暴力破解或类似策略。找到HERE
-
这是对的。密码应始终为 hashed 且未加密。
-
@entek:我认为你误解了这个问题,因为我读到这不是关于存储用户密码,而是用于访问数据库的密码。您需要数据库用户和密码才能连接。现在,对于 Web 应用程序,这应该由应用程序服务器通过 JNDI 资源处理并安全地存储密码,但是如果您正在编写一个普通的旧 Java 应用程序,它通过 JDBC 访问数据库,您将需要在某个地方输入密码.并且将其保留为纯文本不是这样做的方法,因此加密密码绝对是一个有效的用例......
-
@entek 通常你不能使用已经散列的密码来登录数据库。此外,在指定的情况下,这不会以任何方式提高安全性。
-
我错了..我以为你想保存某人的密码..在这种情况下,散列当然不是选择..我的错
标签: java security encryption