加密密码?

Chr*_*ris 5 php mysql security encryption hash

在阅读了有关php中会话管理的一些主题之后,我开始进行这个安全性讨论,看看:https: //paragonie.com/blog/2015/04/secure-authentication-php-with-long-term-persistence#title. 2

引用章节:胡椒还是胡椒?

一个更好的解决方案,在使用硬件分离时尤其有用,是在将哈希值插入数据库之前加密哈希值.有了这个安全措施,即使攻击者找到了转储所有数据库表的方法,他们首先必须解密哈希值才能开始破解它们.将PHP和数据库放在不同的硬件上,这会变得更加安全.

在本文中,共享https://github.com/defuse/php-encryption的链接...

到目前为止,我只使用password_hash()来将密码存储在数据库中.是否可以加密哈希本身?你怎么看?

谢谢你的想法!

mar*_*kli 6

使用适当的哈希算法进行散列通常足以保护密码,但事后加密(不编码)哈希确实更安全.

当您使用服务器端密钥加密哈希时,攻击者必须获得服务器上的其他权限才能获得此密钥(没有密钥,哈希值得无效).获取对数据库的只读访问要比获取服务器权限容易得多.示例是SQL注入,丢弃备份,丢弃的服务器,......在所有这些情况下,加密将保护哈希.

在这个答案中,您可以找到更多信息,或者您想查看我的教程结尾有关安全存储密码的信息.