Maison >développement back-end >tutoriel php >HTTP Digest authentication 疑问

HTTP Digest authentication 疑问

WBOY
WBOYoriginal
2016-06-23 14:13:551031parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:关于ThinkPhp RBAC的问题Article suivant:编码问题