gpt4 book ai didi

php - joomla密码加密

转载 作者:IT王子 更新时间:2023-10-29 01:03:33 36 4
gpt4 key购买 nike

我需要访问 joomla 用户表 jos_users 以从外部 php 脚本 [codeignitor] 进行登录检查。

joomla 这样存储密码

4e9e4bcc5752d6f939aedb42408fd3aa:0vURRbyY8Ea0tlvnTFn7xcKpjTFyn0YT

看起来这不是正常的 MD5,所以我不能使用 md5(password)

创建密码的可能方法是什么?

谢谢。

最佳答案

Joomla 密码经过 MD5 散列处理,但密码在散列处理前经过加盐处理。它们以 {hash}:{salt} 的形式存储在数据库中,这个 salt 是一个长度为 32 个字符的随机字符串。

因此,要创建一个新的密码哈希,您可以执行 md5($password.$salt)

编辑

好吧,为了检查密码,假设用户 myguy 输入密码 mypassword,您将从数据库中检索具有用户名 myguy .

在这一行中,您会找到密码 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] 相同,则用户输入了正确的密码。

关于php - joomla密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428126/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com