van*_*loc 4 php encryption hash
今天,我和我的朋友讨论了网站的安全性。
保存用户密码时,我通常使用带有随机盐的哈希值。
由于哈希无法反编译,我的朋友经常md5()用来加密用户密码。
问题是:
我试图向他解释,md5()可以解密,但是他接受了:
“我可以使用
md5(md5(md5('password')))或md5() + random string”。
所以,我也提到这将有很多时间保存到数据库中,当用户登录时,再次进行解密。
但这还不足以说服。有谁可以建议我如何轻松地理解?
谢谢。
MD5是一种哈希函数(一种方式),无法解密,MD5密码存储的问题有所不同。
这就是为什么我们应该使用具有诸如BCrypt之类的成本因子的哈希函数的原因。成本因素决定了用于计算单个哈希的时间,该时间应与服务器可以承受的时间一样长。PHP提供了函数password_hash()来生成安全的密码哈希。