我知道在将其保存到数据库之前我应该 md5(password.salt) 。但我有一些奇怪的问题: + 我是否也应该 md5 内容/文本字符串(使用密码作为盐)?示例:如果数据库泄露,攻击者无法读取已关闭论坛的内容 + 如果我不应该对内容进行 md5 处理,并将它们全部保存为纯文本,那么攻击者试图获取用户密码的意义何在?有数据库吗?
问问题
543 次
1 回答
4
散列密码的目的是防止获得您数据库访问权限的第三方了解用户的密码是什么。如果您的数据库内容已经到了那么远,那么它们已经受到了损害,因此论坛内容已经暴露出来。您不希望人们的密码被泄露,因为许多人在多个网站上使用相同的密码。
如果您有一个安全的论坛,那么您需要防止攻击者访问数据库。如果他们进入,您的论坛帖子就会暴露。不要费心试图进一步保护他们。这个想法是,如果攻击者获得了对数据库的访问权限,那么您已经限制了损害的表面积。您的站点数据被泄露,但希望不是用户的凭据。有些人会在您的网站上使用他们的银行用户名和密码,这就是您要保护的内容。
请记住,散列函数是一种方法。您无法取消散列数据。这对密码来说很好:你不需要知道人们的密码是什么,你只需要能够比较它们。它不适用于论坛帖子。散列不是加密。加密的数据可以被解密。散列数据不能取消散列。
于 2012-11-28T04:41:11.597 回答