gpt4 book ai didi

database - 在密码加密中使用随机盐?

转载 作者:太空狗 更新时间:2023-10-30 01:54:06 25 4
gpt4 key购买 nike

我看过一些关于这个主题的其他话题,但我似乎无法找到一些涉及在密码加密中使用随机盐的问题的答案。据我了解,这些步骤是这样的:

  1. 为用户生成随机盐。
  2. 将盐附加到他们的密码。
  3. 使用 SHA-2 之类的算法对结果进行哈希处理。
  4. 将加盐密码和散列密码都存储在数据库中。

此方法在检索用户密码和验证登录时如何工作?一种回应说应该检索用户的盐,附加到他们输入的密码,散列,然后与存储的散列进行比较,但这不会引发一些问题吗?即:

  • 如何在不危及该用户的情况下取回盐?如果有人想暴力破解某个帐户的密码,他们是否无法检索从服务器发回的盐来对输入的密码进行哈希处理,从而消除盐增加的安全性?
  • 如果我们通过在服务器端进行盐检索来避免之前的问题,那么我们是否会在某一时刻发送未加密的用户输入密码(以便稍后可以将其附加到检索到的盐中)?

最佳答案

盐不应该暴露在服务之外 - 你的直觉是正确的,这会暴露盐并引入风险。

您的客户端和服务器之间的任何通信都应通过 SSL 连接进行 - 或者至少使用某种交互加密。

请记住加盐的目的:让某人更难预先计算哈希码,从而在数据库遭到破坏的情况下能够查找密码。 8 位盐使散列空间大 256 倍,使预先计算变得更加困难。加盐与确保通信安全无关 - 还有其他解决方案。

关于database - 在密码加密中使用随机盐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4021065/

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