joomla密码加密
我需要访问joomla用户表jos_users
以从外部php脚本[codeignitor]进行登录检查。
joomla这样存储密码
4e9e4bcc5752d6f939aedb42408fd3aa:0vURRbyY8Ea0tlvnTFn7xcKpjTFyn0YT
看起来这不是正常的MD5,所以我无法使用md5(password)
。
创建密码的可能方式是什么?
谢谢。
回答:
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 4e9e4bcc5752d6f939aedb42408fd3aa
echo $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]
是相同的用户已经输入了正确的密码。
以上是 joomla密码加密 的全部内容, 来源链接: utcz.com/qa/430777.html