【问题标题】:Digest authentication in djangodjango 中的摘要式身份验证
【发布时间】:2012-05-17 20:21:13
【问题描述】:

据我所知,在摘要式身份验证中,客户端使用密码和服务器提供的随机值作为输入值进行不可逆计算。结果被传输到执行相同计算的服务器,如果客户端到达相同的值,则对客户端进行身份验证。由于计算不可逆,窃听者无法获取密码。

注意上面的定义,我在Javascript中使用CryptoJS.HmacSHA256("password", "key")将信息发送到django服务器,现在问题是:

我需要在服务器中使用相同的逻辑进行检查,但 django 已经以自己的格式对密码进行了哈希处理,例如使用 pbkdf2_sha256

我应该使用像 AES 这样的可逆算法吗?我认为破解django的哈希算法并为客户端编写相同的算法是可能的吗?

【问题讨论】:

    标签: python django authentication hash digest


    【解决方案1】:

    您为什么要尝试以这种方式进行身份验证?您不能为此使用 djangos 默认身份验证。

    你可以做的是(例如):

    1. 创建一个与用户关联的新模型,该模型具有共享密钥和令牌
    2. 创建您自己的身份验证后端,该后端接受签名值,验证签名值,然后将用户登录

    我使用this article 中的细节来实现算法。即使您不使用此方法,您仍然需要创建自己的自定义authentication backend

    【讨论】:

      【解决方案2】:
      • AES 不是散列算法。这是一种加密算法。
      • 您可以使用 SHA1 或 MD5 等哈希算法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-29
        • 1970-01-01
        • 2023-03-06
        相关资源
        最近更新 更多