我真的需要哈希密码吗?

gka*_*kck 5 database authentication passwords hash

我正在构建一个项目,它有一个非常基本的登录系统.没有可用的REGISTRATION系统,将手动添加用户.我也很好地保护了数据库数据输入门.毕竟,我还需要哈希甚至加密用户密码吗?

如果您的回答是肯定的,那么下一个问题是为什么?

Jon*_*eet 11

那么,入侵者能够冒充其他用户的后果是什么?权衡加入散列和腌制的难度(这不是很大)的后果.

您可能需要考虑的一个风险是,如果用户在多个站点上拥有相同的密码,那么他们的安全性就像最弱的站点一样安全.即使您自己手动分配密码(并且不允许用户选择密码),他们也可能继续在其他网站中使用相同的密码.

  • @sfussenegger:我在第二段中的观点是,即使密码是在*this*站点上自动生成的,用户仍然可以在其他站点上重复使用它. (4认同)

小智 8

绝对.这是您必须尊重的用户最重要的义务之一 - 非常谨慎地处理他们的个人数据.

  • 这不仅是值得尊敬的东西,也是许多国家法律要求的东西. (3认同)
  • 如果您的原则甚至超过法律要求,我想这很好. (2认同)

Ian*_*ose 7

如果您为每个用户生成密码而不让用户更改密码,那么您可以设置一个不对其进行哈希处理的情况.

然而:

  • 您必须向每个人解释审核系统为什么不散列密码.
  • 您必须有某种方式证明系统管理员没有查看用户的密码然后以用户身份登录.
  • 许多程序员会认为你不知道自己在做什么.
  • 如果在某个时候更改系统,或者将代码复制到另一个系统,该怎么办?

我认为这就像过马路一样.

即使绿人说可以穿越,你也总是双向看待.

(从两个方面来看都比较快,然后向任何看守的孩子解释等等,在这种情况下你不需要)


Chr*_*ris 5

在某些司法管辖区/行业中,以纯文本格式存储登录凭据可能违反了数据保护法.如果你在一个与医疗或财务记录有一点关系的系统上在美国做类似的事情,并且你接受了审计,即使没有违规行为,如果发生的最坏情况你会很幸运在您的系统通过审核之前,您的客户和供应商是否拒绝与您做生意.也可能会有巨额罚款.即使你的系统没有 处理敏感数据,如果它是供那些经常使用这些数据的人使用的话,他们可能会重复使用也用于访问受监管数据的密码的可能性至少会使审计员非常紧张,并使他们的客户非常紧张即使您在技术上遵守规定,也不愿意与您合作.