gpt4 book ai didi

authentication - 认证过程中如何使用盐?

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

有谁知道在身份验证过程中如何使用盐?
虽然我已经通过互联网搜索,但仍然不明白。有人可以帮忙吗?
非常感谢!

最佳答案

一个常见的用法是加盐哈希。除了听起来很好吃,它的工作原理是这样的......

加密值的一种方法是创建一种双向加密机制,该机制使用 key 来加密和解密密码。这可能是有问题的,因为如果有人获得了 key ,他们就可以解密任何东西。例如,如果有人访问您的数据库并可以解密一个用户的密码,那么他们就可以解密每个用户的密码。再加上可以完全解密这些值的事实可能会带来安全风险。

另一种选择是创建哈希。这是一种单向加密,始终提供相同的结果。这可能是有益的,因为它可以消除解密值的需要,因为要检查用户的密码,您只需对其进行散列,看看它是否与数据库中的散列值匹配。但是,这样做的两个缺点是,由于哈希算法本身通常不安全,因此任何具有相同密码的人都将具有相同的加密值。正因为如此,如果你能得到一个人的密码,你就可以很容易地找出其他人拥有相同的密码。此外,它很容易通过散列算法运行整个字典来查看谁的密码较弱。

所以改进散列的方法是添加一个盐值。在对用户的密码进行散列运算之前,只需在通过散列算法运行它之前将其用户名(或用户 ID 或其他对用户来说是常量但对他们来说是唯一的)添加到其中。这样每个人都会得到不同的加密值,但每个人的哈希值仍然可以为自己的帐户重复。此外,它降低了字典攻击的风险,因为您知道进入哈希时的值不是来自字典。有人必须在暴力攻击中包含每个用户的用户名或用户 ID 或其他任何内容,因此即使有人受到攻击,黑客也必须为其他所有用户从头开始,即使是那些密码相同的用户。

关于authentication - 认证过程中如何使用盐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8578216/

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