发布于

如何将密码安全地存储在数据库中以及如何验证密码?

作者

"不该做的事情

🔹 以纯文本形式存储密码不是一个好主意,因为具有内部访问权限的任何人都可以看到它们。

🔹 直接存储密码哈希值是不够的,因为它会被修剪以防止预计算攻击,例如彩虹表。

🔹为了减轻预计算攻击,我们对密码进行加盐处理。

什么是盐?

根据 OWASP 指南,盐是一个独特的、随机生成的字符串,作为哈希过程的一部分添加到每个密码中。

如何存储密码和盐?

1️⃣ 盐并不意味着是秘密的,它可以以纯文本形式存储在数据库中。它用于确保每个密码的哈希结果是唯一的。

2️⃣ 密码可以使用以下格式存储在数据库中:𝘩𝘢𝘴𝘩( 𝘱𝘢𝘴𝘴𝘸𝘰𝘳𝘥 + 𝘴𝘢𝘭𝘵)。

如何验证密码?

要验证密码,可以经过以下过程:

1️⃣ 客户输入密码。

2️⃣ 系统从数据库中获取对应的salt。

3️⃣ 系统将盐附加到密码中并对其进行哈希处理。我们将哈希值称为 H1。

4️⃣ 系统比较H1和H2,其中H2是数据库中存储的哈希值。如果相同,则密码有效。"

如何将密码安全地存储在数据库中以及如何验证密码?

作者

Ai Base Network (ABN), ABN ASIA由具有深厚学术背景的人员创立,他们在美国、荷兰、匈牙利、日本、韩国、新加坡和越南等国家有工作经验。ABN Asia是学术界和技术相遇的地方。凭借我们领先的解决方案和优秀的软件开发服务,我们帮助企业提升水平,走向全球舞台。我们的承诺:更快。更好。更可靠。在大多数情况下:也更便宜。

无论您需要IT服务、数字咨询、现成软件解决方案,还是想向我们发送招标要求(RFPs),都请随时与我们联系。您可以通过[email protected]与我们联系。我们随时准备为您提供所有技术需求的帮助。

ABNAsia.org

© ABN ASIA