【发布时间】:2018-10-12 22:14:22
【问题描述】:
我正在使用 BCrypt 在服务器端对我的密码进行哈希处理。在我将它存储在我的 MySQL 数据库中之前,加密我的散列 BCrypt 密码是否过大,或者将散列直接存储在数据库中就足够了?
website 建议在对密码进行哈希处理后对其进行加密:
只要攻击者可以使用哈希来检查密码是否 猜测是对是错,他们可以运行字典或蛮力 攻击哈希。下一步是在哈希中添加一个密钥 这样只有知道密钥的人才能使用哈希来验证 密码。这可以通过两种方式完成。哈希可以是 使用像 AES 这样的密码加密,或者可以包含密钥 使用 HMAC 等键控散列算法在散列中。
编辑:我正在用 Java 编码。我正在尝试衡量增加的保护层与读取和检索用户登录密码的速度性能是否值得。
【问题讨论】:
-
你希望通过加密获得什么?
-
你在使用 PHP 吗?
-
@LukeJoshuaPark 我正在尝试衡量增加的保护层与检索用户登录密码的速度性能是否值得
-
@RaymondNijland Java
-
如果你在同一个密码上运行生成 bcrypt 方法,你会得到不同的哈希值吗?在 PHP 中,这意味着 PHP 版本可以安全地防止暴力破解哈希攻击来获取密码。在 PHP 中使用 password_verify() 进行验证以检查密码是否正确。不知道这在 Java 中是如何工作的,因为谷歌搜索提供了一些不同的框架来在 Java 中使用 Bcrypt...