gpt4 book ai didi

authentication - 盐渍密码哈希

转载 作者:行者123 更新时间:2023-12-04 06:44:28 24 4
gpt4 key购买 nike

我正在尝试为 Web 应用程序创建登录系统,但我遇到了一些问题。我使用带有 128 位随机盐的 sha2-512 哈希将密码存储在我的数据库中。

但是,我目前使用 html 表单将密码以纯文本形式发布到我的应用程序,无论是在创建帐户时还是在用户登录时。我知道这是错误的。

我需要在客户端散列密码吗?如果是这样,我如何考虑当前生成并存储在数据库中的盐?

注意:我这样做是为了学习不在生产系统中使用

最佳答案

最好的选择通常只是使用 SSL。如果您确实需要在客户端进行散列,我会这样做:

  • 当您第一次存储密码时,通常会使用存储的盐来散列密码。
  • 当有人需要登录时,将存储的盐以及第二个随机生成的盐发送给他们。
  • 客户端将使用存储的盐散列明文密码,然后是随机盐并将散列发送到服务器。
  • 服务器将使用该请求中使用的随机数散列存储的密码并进行比较。

  • 这是安全的,因为它确保传输的散列对于请求是唯一的(它使用单请求随机盐),因此将来无法通过再次发送散列来伪造登录。向客户端发送他们存储的盐并不危险,因为假设密码破解者可以访问存储的盐(如果他们可以访问数据库)。需要两个哈希值以防止您不得不将密码存储为明文。

    关于authentication - 盐渍密码哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7745869/

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