关于客户散列物流的问题

时间:2009-10-31 21:00:24

标签: javascript hash client-side

我在客户端发现了大量关于哈希的帖子,但没有一个能够完全回答我的问题。

我想在客户端散列用户密码,这样我就不必在网上发送纯文本密码了,但我对使用盐时如何成功这样做有疑问。

验证密码的正常程序是.. 1)用户输入用户名和密码 2)根据用户名恢复盐 3)哈希密码和盐 4)检查对数据库的哈希

如果这一切都发生在服务器上,这没什么大不了的,但是如果你在客户端就变得很复杂。 2)必须回到服务器,同时在某处保存密码(不发布)所以.. ajax?这是最好的方式还是我错过了什么?

提前致谢!

2 个答案:

答案 0 :(得分:4)

通过未加密的连接发送散列密码并不比发送未散列的纯文本密码更好。坏人可以拦截散列密码并稍后将其重播为凭证。

您想要的是通过SSL发送真实密码。

答案 1 :(得分:1)

作为在不安全通道上发送未加密的哈希或密码(但仍然不如SSL安全)的更安全的替代方法,您可以查看Digest Authentification

如上所述,在不安全的频道上发送散列仍然允许其他人以用户身份登录。