据我所知,在摘要式身份验证中,客户端使用密码和服务器提供的随机值作为输入值进行不可逆的计算。结果将传输到执行相同计算的服务器,并在客户端达到相同值时对其进行身份验证。由于计算是不可逆的,窃听者无法获得密码。
密切关注上述定义,我在Javascript中使用CryptoJS.HmacSHA256("password", "key")
将信息发送到django服务器,现在的问题是:
我需要在服务器中使用相同的逻辑检查,但django已经以自己的格式散列了密码,例如使用pbkdf2_sha256
。
我应该使用像AES这样的可逆算法吗?我不认为有可能破解django的哈希算法并为客户端编写相同的内容吗?
答案 0 :(得分:1)
为什么要尝试以这种方式进行身份验证?您不能使用djangos默认身份验证。
你可以做的是(例如):
我使用this article中的详细信息来实现算法。即使您没有使用此方法,您仍然需要创建自己的自定义authentication backend。
答案 1 :(得分:-1)