如何验证使用随机salt散列的密码
How do I verify a password which is hashed using a random salt?
我正在开发一个web应用程序。现在,从安全角度来看,当密码从客户端发送到服务器时,需要对其进行加盐哈希处理。现在我的问题是,如果我随机生成一个salt,将其附加到密码中并对组合进行散列,那么如何验证这个密码由于生成的salt是随机的,所以每次salt+密码组合的哈希都会不同如果我将生成的相同salt与用户凭据一起发送到服务器,这将暴露salt暴露的salt会造成类似的麻烦,因为试图破解密码的人可以用不同的密码附加暴露的salte以获得哈希并进行匹配。我已经查看了许多网站和堆栈溢出问题,但没有什么能完全满足我的需求。
有一些工具可以读取浏览器的内存并窃取输入的密码。因此,在客户端也需要盐水散列。
您必须将salt保留在代码的服务器端。
对用户进行身份验证时,会将密码发送到服务器。服务器附加salt,然后对密码进行散列运算。salt应该存储在服务器端代码或数据库中的某个位置。
您应该永远不要将salt发送到应用程序的客户端。
在数据库中保留salt是没有问题的。salt只是为了确保攻击者不会使用一些包含大量计算哈希值及其相应密码的表来查找您的受损数据库的密码。对于salt,攻击者唯一的选择就是暴力。
因此,为了让攻击者更难使用暴力并从哈希中找出密码,我建议每个用户使用一个长而安全的随机salt。
可以在"为什么我们使用";盐";保护我们的密码?
相关文章:
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 使用当前日期生成随机id
- 从a-z中随机选择一个字母
- RequireJ无法随机加载脚本
- 单击按钮时显示随机字符串
- Ajax更新面板随机错误'PRM_MissingPanel'
- 如何检查if/else语句中的随机条件
- 是否可以自动拉取“随机”;标签“;从一长串文本中提取
- 如何使用D3生成特定范围内的随机颜色
- 如何在 Javascript/jQuery 中获取一些随机下拉列表的选定值
- 在固定位置显示随机图像
- 有效地获取两个区间之间的随机整数
- 如何获得随机灯光颜色
- 设置随机数,然后每5秒随机减少一次,直到达到0(javascript)
- 阵列中随机图像的问题
- 显示数字,然后每5秒随机更改一次(javascript)
- 使用JS按顺序显示图像,而不是随机显示
- 使用javascript和随机暂停/超时快速循环文本
- 随机宽松Jquery
- 如何验证使用随机salt散列的密码