gpt4 book ai didi

digest-authentication - 什么是摘要认证?

转载 作者:行者123 更新时间:2023-12-03 04:57:26 27 4
gpt4 key购买 nike

除了以纯文本形式发送凭据之外,摘要式身份验证与基本身份验证有何不同?

最佳答案

主要区别在于它不需要以明文方式通过网络发送用户名和密码。它也不受重放攻击的影响,因为它使用来自服务器的一次性号码。

服务器向客户端提供一个一次性使用编号(随机数),该编号与用户名、领域、密码和 URI 请求相结合。客户端通过 MD5 哈希方法运行所有这些字段以生成哈希 key 。

它将这个哈希 key 与用户名和领域一起发送到服务器以尝试进行身份验证。

服务器端使用相同的方法来生成哈希键,只是服务器不使用在浏览器中输入的密码,而是从其用户数据库中查找用户所需的密码。它查找该用户名存储的密码,通过相同的算法运行并将其与客户端发送的密码进行比较。如果它们匹配,则授予访问权限,否则会发回 401 Unauthorized(未登录或登录失败)或 403 Forbidden(访问被拒绝)。

摘要式身份验证为 standardized in RFC2617 。有一个nice overview of it on Wikipedia :

你可以这样想:

  1. 客户提出请求
  2. 客户端从服务器获取随机数和 401 身份验证请求
  3. 客户端发回以下响应数组(用户名、领域、generate_md5_key(nonce、用户名、领域、URI、password_given_by_user_to_browser))(是的,这非常简单)
  4. 服务器获取用户名和领域(而且它知道客户端请求的 URI),并查找该用户名的密码。然后它执行自己版本的generate_md5_key(nonce,username,realm,URI,password_I_have_for_this_user_in_my_db)
  5. 它将 get_generate_md5() 的输出与客户端发送的输出进行比较,如果它们与客户端发送的正确密码匹配。如果它们不匹配,则发送的密码是错误的。

关于digest-authentication - 什么是摘要认证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com