security - 我为什么要关心散列密码呢?

标签 security encryption

如果黑客可以访问我数据库中的哈希值,那么他无论如何都可以访问数据库中的其余信息。那么他为什么还要费心尝试解密密码呢?我应该将密码存储在与我的其余数据不同的服务器上吗?这是我可以设想它有用的唯一场景。

最佳答案

  • 有时,黑客无法完全访问您的数据库。有时他们会发现一个小的 SQL 注入(inject)漏洞或其他人没有正确编码的弱点,所以他们一开始只能做一些简单的事情,比如一次打印一个数据库单元。如果他们能突然打印出一个真正的密码,事情就会变得更糟。
  • 事情发生了:备份磁带丢失、意外丢弃或被盗。已退役的系统未正确删除。其他地方的漏洞会导致数据库意外暴露。如果黑客可以访问这样的快照,他可以了解很多关于您的系统的信息。但是如果密码仍然是散列的,他也不能使用系统做一些恶意的事情,比如以不同的用户身份登录并开始改变事情。
  • 我听说大多数黑客都是内部工作。即使您信任的人以其他人身份登录,也最好删除该功能。
  • 这不仅仅是关于你。用户倾向于跨系统共享密码。也许有一天(上帝保佑)您有与密码无关的违规行为,但在此过程中,您的身份验证表将成为攻击者的目标之一。如果您以纯文本形式存储密码,那么您也只是在许多其他服务中泄露了用户帐户,而您非常糟糕的一天只会变得更糟。

  • 如果您认为这种事情不会发生,请与 reddit 上的人交谈。

    关于security - 我为什么要关心散列密码呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287597/

    相关文章:

    ios - Adobe AIR Encrypted SQLite Database 是否访问或使用 Apple iOS 中的加密?

    python - 是否可以通过 django 管理面板动态添加新字段

    javascript - 用于 unix 密码哈希的 node.js DES 加密不像 mkpasswd 那样工作

    java - 对未签名的 Java 小程序可以做什么的限制?

    php - 评估 php shell hack

    visual-studio - UWP 应用证书错误(错误代码 0x800B0109)

    encryption - ANT+ 单 channel 加密示例

    security - codeigniter session 安全吗?

    c++ - 加密变量

    encryption - 准备在 EME 中使用的音频文件