Home >Backend Development >PHP Tutorial >HTTP Digest authentication 疑问

HTTP Digest authentication 疑问

WBOY
WBOYOriginal
2016-06-23 14:13:551032browse

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请求,所以不存在客户端自动生成参数的功能。
我就是不知道怎样来生成那些参数值。某些参数我知道怎么取值,上面提出的是我不知道怎么取值的参数。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:关于ThinkPhp RBAC的问题Next article:编码问题