HTTP Digest authentication 疑问
程序员文章站
2024-01-25 08:06:52
...
http://blog.csdn.net/gl1987807/article/details/6090811
看了此文章,有些小疑问请教一下.
在PHP中怎样生成这些摘要认证信息中的参数值呢?
username = '用户名'
realm = '领域'
nonce = '现时'
uri = '客户端想要访问的URI'
qoq = '客户端选择的保护方式'
nc = ''
cnonce = ''
response = ''
等号后台有说明的表示我己经知道的.最后的三个参数值是怎么来的.文档中有说明,只是我不理解它们的意思.
nc,cnonce值是随机产生的还是由什么算法产生的?
response是不是对密码进行md5加密产生的?
看了此文章,有些小疑问请教一下.
在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请求,所以不存在客户端自动生成参数的功能。
我就是不知道怎样来生成那些参数值。某些参数我知道怎么取值,上面提出的是我不知道怎么取值的参数。
推荐阅读
-
HTTP Digest authentication 疑问
-
HTTP Basic Authentication认证
-
HTTP Basic 认证(Authentication)
-
rails接口验证:HTTP Basic Access Authentication
-
rails接口验证:HTTP Basic Access Authentication
-
HTTP digest RFC2671规范 加密实现(JAVA)
-
HTTP digest RFC2671规范 加密实现(JAVA)
-
HTTP Digest authentication 疑义
-
javascript - PHP http Digest认证在 chrome 内核浏览器中不弹出认证框怎么解决??
-
javascript - PHP http Digest认证在 chrome 内核浏览器中不弹出认证框怎么解决??