为啥不应该在数据库中以纯文本形式存储密码? [复制]

Posted

技术标签:

【中文标题】为啥不应该在数据库中以纯文本形式存储密码? [复制]【英文标题】:why shouldn't store passwords in plain text in database? [duplicate]为什么不应该在数据库中以纯文本形式存储密码? [复制] 【发布时间】:2013-10-30 05:42:41 【问题描述】:

我想知道为什么在数据库中以“纯文本”形式存储密码是个坏主意。 你可以给我一些关于它的文章

【问题讨论】:

您是否希望某个开发人员只做select * from users 并读取您的电子邮件帐户密码? 因为如果有人窃取了您的数据,他们可以立即访问您的所有帐户。如果您对密码进行哈希处理并存储哈希值,那么窃贼必须先破解每个哈希值,然后才能访问该帐户。不要以纯文本形式存储密码。 【参考方案1】:

根据我作为银行应用程序应用程序安全分析师的经验,不建议以纯文本形式存储密码、美元金额、帐号等。在将敏感数据保存到数据库之前,应该对其进行适当的加密。您可以参考 OWASP Top 10 指南。

【讨论】:

这不能回答问题 - OP 已经知道这是一个坏主意,他在问为什么这是一个坏主意。此外,密码应该是散列的,而不是加密的。

以上是关于为啥不应该在数据库中以纯文本形式存储密码? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

当 API 调用需要以纯文本形式发送密码时,将密码存储在数据库中的最佳方法是啥?

数据库凭据以纯文本形式存储可以吗?

将密码以纯文本形式存储在 php 变量或 php 常量中是不是可以?

安全地存储访问令牌

在 CI 环境中保护密码

你为啥要在数据库中存储纯文本或加密(非散列)密码?