摘要式身份验证看起来像是一种挑战-响应机制:客户端和服务器都将随机字符串与密码(MD5 或其他东西)混合在一起,并且只有这种混合的结果通过网络发送。
通常挑战(“nonce”)由服务器选择并发送给客户端。关于摘要身份验证的维基百科文章列出了一个示例“会话” - 挑战(“nonce”)由那里的服务器选择。我在我的机器上用 IIS 进行了同样的测试——同样,挑战是由 IIS 产生的。
但是在像这样的一些帖子中,挑战是由客户端生成的——客户端只是生成一个随机字符串并发送一个请求,其中包含挑战以及密码和挑战的乘积。
后者是否被允许并被广泛接受?客户是否可以选择挑战(“nonce”)?