我正在用Java
开发一个 Web 应用程序,我想
通过使用散列密码 来确保身份验证过程的安全。
在散列
步骤 1 中:我们获取用户提供的密码并为其添加盐。
第2步:使用MessageDigest
哈希值并将哈希值存储在数据库中
在登录过程中对用户进行身份验证时,我们重复上述两个相同的步骤,但我们不
存储散列值,而是将其与数据库中存在的值进行比较。
现在原谅我的无知,但我想说的是,如果黑客通过任何其他
方式访问数据库,那么它可以提供安全性,因为黑客无法从哈希
值中轻松获取密码的真实文本。
但是Bruteforce attack, Rainbow attack, dictionary attack
,当我们使用相同的步骤对用户进行登录身份验证 时,它如何提供针对其他形式的攻击的安全性?
我不认为现在密码的散列值那么多。
给我一些建议......如果我错了。