its*_*sme 6 php passwords hash
可能重复:
PHP密码的安全散列和盐
我看到有人编码这样的密码哈希,
md5(uniqid(mt_rand('password', 15), true));
Run Code Online (Sandbox Code Playgroud)
这是一种安全的方式吗?甚至是成功了吗?
这不仅不安全,甚至不起作用.
mt_rand 取2个参数,最小值和最大值.
mt_rand('password', 15)
Run Code Online (Sandbox Code Playgroud)
这将转换'password'为int(0),然后在0和之间返回一个随机数15.
uniqid(mt_rand('password', 15), true)
Run Code Online (Sandbox Code Playgroud)
然后,这会生成一个唯一的ID,并将上一步中的随机数添加到它:计算如下内容:
144ffb22886d58e1.82100749
Run Code Online (Sandbox Code Playgroud)
那个字符串然后是md5'd.
正如您可能看到的,此代码是100%无用的.原始密码将0永久转换为丢失,因此您所做的只是散列随机数,这是毫无意义的.既然你有哈希,就无法再次验证它.由于密码被转换,无论用户输入什么都无关紧要.
所以,不,这段代码不安全,不要使用它.
就个人而言,我使用phpass库.它安全且易于使用.