擅长:python、mysql、java
<p>为了验证您的CRAM-MD5实现,最好使用一些简单的测试向量,并对照预期输出检查(challenge、password、username)输入的组合。在</p>
<p>下面是一个例子(来自<a href="http://blog.susam.in/2009/02/auth-cram-md5.html" rel="nofollow">http://blog.susam.in/2009/02/auth-cram-md5.html</a>):</p>
<pre><code>import hmac
username = 'foo@susam.in'
passwd = 'drowssap'
encoded_challenge = 'PDc0NTYuMTIzMzU5ODUzM0BzZGNsaW51eDIucmRzaW5kaWEuY29tPg=='
challenge = encoded_challenge.decode('base64')
digest = hmac.new(passwd, challenge).hexdigest()
response = username + ' ' + digest
encoded_response = response.encode('base64')
print encoded_response
# Zm9vQHN1c2FtLmluIDY2N2U5ZmE0NDcwZGZmM2RhOWQ2MjFmZTQwNjc2NzIy
</code></pre>
<p>也就是说,我确实在网上找到了一些例子,上面的代码生成的响应与相关站点上的预期响应不同,所以我仍然不完全清楚这些情况下发生了什么。在</p>