Joomla密码是经过MD5哈希处理的,但是在哈希处理之前,已对密码进行了固定处理。它们被存储在数据库中,因为
{hash}:{salt}此盐是长度为32个字符的随机字符串。
因此,要创建一个新的密码哈希,
md5($password.$salt)
编辑
好的,要检查密码,例如说用户
myguy输入了密码
mypassword,您将从具有username的数据库中检索该行
myguy。
在此行中,您将找到密码say
4e9e4bcc5752d6f939aedb42408fd3aa:0vURRbyY8Ea0tlvnTFn7xcKpjTFyn0YT。您将密码哈希和盐分开:
$hashparts = preg_split (':' , $dbpassword);echo $hashparts[0]; //this is the hash 4e9e4bcc5752d6f939aedb42408fd3aaecho $hashparts[1]; //this is the salt 0vURRbyY8Ea0tlvnTFn7xcKpjTFyn0YT
现在使用此盐和
myguy输入的密码计算哈希
$userhash = md5($userpassword.$hashparts[1]); // This would be 'mypassword' and the salt used in the original hash
现在,如果这
$userhash和
$hashparts[0]是相同的用户已经输入了正确的密码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)