首页 > 解决方案 > 为什么在数据库已经受到威胁时使用哈希密码?

问题描述

尽管开发人员在保存到数据库之前应该对凭据进行哈希处理似乎微不足道,但我不明白为什么需要这样做。

发明密码是为了防止一些用户看到属于其他人的一些私人数据。例如,聊天应用程序使用密码只允许经过身份验证的用户查看和发送消息。

假设一个这样的应用程序以纯文本形式保存密码。如果黑客可以访问数据库,他们将能够看到数据并对其进行更改。

现在说密码是散列的。这不应该改变任何东西,因为如果攻击者可以访问数据库,即使他们看不到实际的密码,他们也应该能够看到数据并再次更改它。

有了这些推理,人们可以争辩说,当攻击者只能看到数据而不能更改数据时,第二种情况更有利。但是,如果攻击者既可以看到又可以更改数据,那么散列将毫无用处。

那么哈希背后的基本原理是什么?

标签: securityhashpassword-encryptionpassword-hashdatabase-security

解决方案


人们倾向于重复使用密码。想象一下有人入侵了 moddedandroid.ru,因此有人可以登录到您的 stackoverflow 帐户。


推荐阅读