django密码加密背后的逻辑是什么?

时间:2012-05-17 09:39:05

标签: python django authentication encryption sha

我需要使用sencha作为客户端和django作为服务器来制作移动应用程序

我向服务器发送如下请求

url: 'http://localhost:8000/api/user/?format=jsonp',
                method: 'GET',
        headers : {'Authorization' : CryptoJS.HmacSHA256("password", "1154590211545902"),'Content-Type':'application/json;charset=utf-8'
         }

我需要使用数据库中的密码查询 request.META.get('HTTP_AUTHORIZATION')

request.META.get('HTTP_AUTHORIZATION')返回密码的加密值,如ea121221rtrtrt7878237878787,这是不可逆转的

有什么想法吗? 谢谢

2 个答案:

答案 0 :(得分:2)

  • Django身份验证模块不会将密码作为纯文本存储在数据库中。
  • 而是在密码上应用哈希算法,如'SHA1',并将其存储(作为哈希值)。
  • 从哈希值中,您无法以纯文本形式获取密码。
  • 您可以对给定的密码应用相同的哈希算法,并检查存储的密码。

答案 1 :(得分:1)

假设您正在使用内置身份验证框架,请完整记录:Manually checking a user's password