PHP中的哈希和安全措施

时间:2012-02-03 04:59:48

标签: php security bcrypt sha512

我已经了解了如何使用散列将安全性实现到网站中,而且我没有像银行或存储信用卡那样创建非常敏感的东西。但是,我想知道最佳做法。我的网站有一个带有AES 256的TLS证书

主要问题:

1。)通过会话再次发送哈希密码似乎是我能想到的唯一保持会话相当安全的方法。在我看来,我并不关心用户是否发现了这个价值,但我会关心用户是否找到某种方式来查看数据库并确切知道我的加密算法是什么。

2.。)我应该在散列密码之前完全取出算法,还是应该使用不同的散列方法?

在bcrypt之前或之后使用sha512是否可以,因为这些都是碰撞和蛮力的声音?

1 个答案:

答案 0 :(得分:1)

就我个人而言,登录时只需SHA512密码进行存储和比较,对于会话跟踪,我存储了hash('sha512', $username.$salt.$password);的密钥,此密钥存储在会话中,并与数据库中用户的密钥进行比较,以验证其会话

我还没有遇到任何安全问题,除非你知道用户的用户名,密码和用户盐(显然不应该存储在数据库中),否则不应该伪造密钥,所以它应该是安全的,只要有人无法访问您的数据库和您的代码(在这种情况下,您遇到的问题比保护用户密码更大;)