据我所知,在摘要身份验证中,客户端使用密码和服务器提供的随机值作为输入值,执行不可逆的计算。结果被传输到服务器,服务器执行相同的计算,如果客户端到达相同的值,则对客户端进行身份验证。由于计算是不可逆的,窃听者无法获得密码。
注意到上面的定义,我在Javascript中使用CryptoJS.HmacSHA256("password", "key")将信息发送到django服务器,现在的问题是:
我需要使用相同的逻辑在服务器中进行检查,但是django已经以自己的格式对密码进行了哈希处理,例如使用pbkdf2_sha256。
我应该使用像AES这样的可逆算法吗?我不认为破解django的散列算法并为客户端编写相同的算法是可能的?
发布于 2012-05-17 20:21:14
为什么要尝试以这种方式进行身份验证?您不能对此使用djangos默认身份验证。
你可以做的是(例如):
我使用this article中的细节来实现算法。即使您不使用这种方法,您仍然需要创建自己的自定义authentication backend。
发布于 2012-05-17 20:09:05
https://stackoverflow.com/questions/10635212
复制相似问题