PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP-密码重置安全吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我想知道是否使用substr(md5(rand()),0,17);密码重置链接足够安全吗?如果我要生成一个更长的字符串,那会使它更安全吗? MD5绝对安全吗?还是我应该做$token = sha1(uniqid($username,truE));?

解决方法:

substr()或md5()的使用仅次于rand()的使用.

使用密码重置令牌的全部要点是它们不可预测,并且由于底层的LCG模型,已知rand()较弱.

最好使用系统的熵源,例如:

$rand = openssl_random_pseudo_bytes(8); // take 8 random bytes
$token = substr(md5($rand), 0, 17);
@H_197_14@

它从系统的随机源中获取字节,例如Linux上的/ dev / urandom或Windows上的相应系统.

请注意,如果没有任何特定的大小限制,则最好选择完整的sha1()输出并采用16个随机字节.

另外,在将密码重置令牌存储在数据库中时,应将其视为(临时的,有时间限制的)密码.我建议将上述令牌发送给用户,然后在将它们写入数据库之前使用password_hash().在以后的阶段中,您可以使用password_verify()检查给定的令牌(假设令牌没有过期).

大佬总结

以上是大佬教程为你收集整理的PHP-密码重置安全吗?全部内容,希望文章能够帮你解决PHP-密码重置安全吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: