我读过,验证用户身份的一种更安全的方法是在对密码进行哈希处理时使用一次性盐。我不明白的是:
如果客户端每次会话都生成一个新的盐,那么每次会话生成的盐+密码哈希不会不同吗?如果是这样,服务器如何将发送的密码与其存储的密码进行比较?服务器有没有办法比较不同的哈希值并且仍然能够辨别使用了相同的密码?
(免责声明:我不是想重新发明轮子/编写登录协议(我知道,我知道:使用 SSL/TLS)。我只是对登录协议的高级功能感到好奇)
我读过,验证用户身份的一种更安全的方法是在对密码进行哈希处理时使用一次性盐。我不明白的是:
如果客户端每次会话都生成一个新的盐,那么每次会话生成的盐+密码哈希不会不同吗?如果是这样,服务器如何将发送的密码与其存储的密码进行比较?服务器有没有办法比较不同的哈希值并且仍然能够辨别使用了相同的密码?
(免责声明:我不是想重新发明轮子/编写登录协议(我知道,我知道:使用 SSL/TLS)。我只是对登录协议的高级功能感到好奇)