直到现在,我还没有使用它,我一直在使用在phpass找到的hasher.然后我读了另一篇文章," 忘记密码页面,创建生成的密码以通过电子邮件发送给用户. ",这里是由nageeb编写的stackoverflow .
摘自他的帖子:
这是我使用的一步一步的方法:
用户创建密码(通过注册表单)一个函数创建一个随机盐然后加密密码,在这种情况下,使用SHA256算法并使用随机创建的盐.
$ password_salt = bin2hex(mcrypt_create_iv(32,MCRYPT_DEV_URANDOM));
$ password_hash = hash('sha256',$ salt.$ password);
将$ password_hash和$ password_salt保存到users表.这些将在以后用于在用户尝试将来登录时进行身份验证.
当用户登录时,检查用户名/电子邮件/登录名,如果找到,则从users表中获取哈希值和salt,并将db中的密码哈希值与执行相同函数返回的哈希值进行比较,这些哈希值作为密码输入.
$ salt = $ user_record ['password_salt'];
$ entered_hash = hash('sha256',$ salt.$ entered_password);
在这里看起来像php具有所有散列需求的本机函数.这让我觉得它一定是更好的.我应该停止使用phpass并开始使用php哈希框架吗?
| 归档时间: |
|
| 查看次数: |
570 次 |
| 最近记录: |