【问题标题】:Can I use an already MD5 encoded password in Digest Authentication我可以在摘要身份验证中使用已经 MD5 编码的密码吗
【发布时间】:2010-11-18 10:36:12
【问题描述】:

我在一个数据库中有密码的 MD5 哈希值,我想将其用于 HTTP AUTH DIGEST。但是在阅读文档时,看起来摘要哈希包含用户名、领域和明文密码的哈希。在这种情况下,有没有办法使用密码的 MD5 哈希?

【问题讨论】:

    标签: hash passwords md5 digest-authentication


    【解决方案1】:

    没有。如果他们需要的哈希是这样生成的:

    MD5(用户名+领域+密码)

    你运气不好。

    如果他们像这样散列密码:

    MD5(MD5(密码)+用户名+领域)

    您只需使用散列密码即可执行此操作。但听起来好像不是这样。

    【讨论】:

      【解决方案2】:

      不,您必须在表中存储 Digest 的 HA1 哈希并将其用于其他类型的身份验证(表单和基本)。见这里:Storing password in tables and Digest authentication

      【讨论】:

      • 这应该被接受为最佳答案。您可以并且应该存储密码的散列版本(而不是纯文本)。但是您必须将其与此答案中所述的用户名和领域一起散列。
      【解决方案3】:

      不,这是不可能的。摘要式身份验证的全部目的是避免重放攻击,即有人只有(某些身份验证数据的)散列版本而不是真实数据。

      它不仅是用户名、真实密码和明文密码的哈希值,还是一个随机数,每次都会改变。所以你真的需要明文密码。

      【讨论】:

        【解决方案4】:

        没有。在摘要式身份验证中,密码使用挑战进行哈希处理,无法使其与另一个哈希一起使用。

        基于 HTTPS 的基本身份验证更安全,它应该与您的散列密码一起使用。

        【讨论】:

          猜你喜欢
          • 2019-11-12
          • 2011-10-10
          • 2023-03-21
          • 2021-05-12
          • 2011-07-14
          • 2010-11-03
          • 2010-12-08
          • 2019-12-30
          • 1970-01-01
          相关资源
          最近更新 更多