Wikipedia提供了以下基于 nonce 的身份验证示例:
客户端从服务器请求随机数。
服务器以随机数响应(即,以下称为“服务器随机数”)。
客户端使用服务器随机数、它自己的客户端随机数和用户输入的密码来生成哈希。
客户端将用户输入的用户名、客户端随机数和哈希发送到服务器。
服务器从其数据库中检索服务器随机数和用户密码,大概是通过用户名。
服务器结合服务器随机数、客户端随机数和密码来生成哈希。
服务器将刚刚生成的哈希与客户端发送的哈希进行比较。
如果哈希匹配,则客户端通过身份验证。如果没有,客户将被拒绝。
这是否意味着服务器以纯文本形式存储用户密码?严重违反了建议保存密码的加盐哈希而不是实际密码本身的安全原则?