我目前使用SHA512和每个用户随机盐来哈希用户密码并将它们存储在数据库中。我认为这是非常安全的,直到我读到article关于使用廉价GPU来暴力攻击密码的问题。
作为切换到bcrypt的替代方法,它可以提高安全性,只需多次使用SHA512即可吗?运行它在自己的输出上说100或1000次以减慢进程并使其更难以暴力?或者SHA512的迭代实际上没有产生安全性好处?
答案 0 :(得分:5)
迭代技术是众所周知的,并且特别针对Rainbow tables进行散列。像Rfc2898DeriveBytes这样的类使用多达10K的迭代来获得正确的密码。迭代哈希使得强制回原始字符串变得更加困难,因为需要存储多个字符串迭代才能破解它们,这意味着大量数据具有较大的哈希值(即SHA512)。