介绍
介绍
HTTP Digest认证是相对HTTP Basic认证来说更加安全的一种直接认证方式
使用
使用
HTTP Digest认证的使用方法是
首先请求一下资源地址获得认证基础信息
WWW-Authenticate: Digest realm="realm@sample.com", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41"
然后使用认证的基础信息去拼凑成Digest需要的格式
Authorization: Digest username="tongfu", realm="realm@sample.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.php", qop=auth, nc=00000001, cnonce="0a4f113b", response="6629fae49393a05397450978507c4ef1", opaque="5ccc069c403ebaf9f0171e9517f40e41"
response的值的计算方法
MD5(HA1 + ":" + nonce + ":" + nc + ":" + cnonce + ":" + qop + ":" + HA2)
HA1的值的计算方法
MD5(username + ":" + realm + ":" + password)
HA2的值的计算方法
MD5(request_method + ":" + request_uri)