Yas*_*sha 3 javascript sha256 owasp saltedhash penetration-testing
我正在开发一个网络应用程序。现在从安全角度来看,密码从客户端发送到服务器时需要加盐散列。 现在我的问题是,如果我随机生成一个盐,将它附加到密码并散列组合,如何验证这个密码。由于生成的盐是随机的,盐+密码组合的哈希值每次都会不同。 如果我将生成的盐和用户凭据一起发送到服务器,这将暴露盐。暴露的盐会造成类似的麻烦,因为试图破解密码的人可以在暴露的盐上附加不同的密码以获取哈希值并进行匹配。我已经检查了许多网站和有关堆栈溢出的问题,但没有完全符合我的需要。
有一些工具可以读取浏览器的内存并窃取输入的密码。因此,客户端也需要加盐哈希。
您必须将盐保留在代码的服务器端。
当您对用户进行身份验证时,您将密码发送到服务器。服务器附加盐,然后散列密码。盐应该存储在服务器端代码或数据库中的某处。
您永远不应该将盐发送到应用程序的客户端。
将盐保存在数据库上没有问题。盐只是为了确保攻击者不会使用某些具有大量计算散列及其相应密码的表来找出受感染数据库的密码。使用盐,攻击者的唯一选择是蛮力。
因此,为了让攻击者更难暴力破解并从哈希中找出密码,我建议为每个用户提供一个长而安全的随机盐。
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |