热搜:NVER node 开发 php

HTTP Digest authentication 疑问

2024-09-16 11:00:01
HTTP Digest authentication 疑问

http://blog.csdn.net/gl1987807/article/details/6090811

看了此文章,有些小疑问请教一下.



在PHP中怎样生成这些摘要认证信息中的参数值呢?
username = '用户名'
realm = '领域'
nonce = '现时'
uri = '客户端想要访问的URI'
qoq = '客户端选择的保护方式'
nc = ''
cnonce = ''
response = ''

等号后台有说明的表示我己经知道的.最后的三个参数值是怎么来的.文档中有说明,只是我不理解它们的意思.
nc,cnonce值是随机产生的还是由什么算法产生的?
response是不是对密码进行md5加密产生的?


回复讨论(解决方案)

nc '现时'计数器,即客户端发送出请求的数量
cnonce 任意串,客户端提供,并且客户端和服务器都会使用
response '响应',由用户代理软件计算出的一个字符串,以证明用户知道口令

nc '现时'计数器,即客户端发送出请求的数量
cnonce 任意串,客户端提供,并且客户端和服务器都会使用
response '响应',由用户代理软件计算出的一个字符串,以证明用户知道口令

nc  值可不可以随意填?比如:000001
cnonce 值是不是也可以随意填? 比如:51c3f331ca5600006784
response 的算法我己找到:
$ha1 = md5("$username:$realm:$password");
$ha2 = md5("POST:$uri");
$response = md5("$ha1:$nonce:$nc:$cnonce:$qop:$ha2");

注:PHP语言哦。

我用的是PHP自己构建的HTTP请求,所以不存在客户端自动生成参数的功能。
我就是不知道怎样来生成那些参数值。某些参数我知道怎么取值,上面提出的是我不知道怎么取值的参数。