我在客户端找到了很多关于散列的帖子,但没有一个能够完全回答我的问题。
我想在客户端散列用户密码,这样我就不必在网上发送纯文本密码了,但我有一个问题,就是在使用salt时我怎么能这么做。
验证密码的正常程序是.. 1)用户输入用户名和密码2)根据用户名恢复盐3)哈希密码和盐4)检查哈希对数据库
如果这一切都发生在服务器上,这没什么大不了的,但是如果你在客户端就变得很复杂。 2)必须回到服务器,同时在某处保存密码(不发布)所以.. ajax?这是最好的方式还是我错过了什么?
提前致谢!
通过未加密的连接发送散列密码并不比发送未散列的纯文本密码更好。坏人可以拦截散列密码并稍后重播作为凭证。
你想要的是通过SSL发送真实密码。
作为一种更安全的替代方法,可以在不安全的通道上发送未加密的哈希值或密码(但仍然不如SSL安全),您可以查看Digest Authentification。
如上所述,在不安全的通道上发送散列仍然允许其他人以用户身份登录。