[求助]关于smartIPB的密码问题

edlongren 2005-03-10 05:27:33
由于要换论坛,想把论坛里的用户导出来,导入到另一库中,
但是遇到下列情况,望各位大虾在忙解决:
smartIPB中的用户密码检验如下:

function generate_compiled_passhash($salt, $md5_once_password)
{
return md5( md5( $salt ) . $md5_once_password );
}

function generate_password_salt($len=5)
{
$salt = '';
srand( (double)microtime() * 1000000 );

for ( $i = 0; $i < $len; $i++ )
{
$num = rand(33, 126);
if ( $num == '92' )
{
$num = 93;
}
$salt .= chr( $num );
}
return $salt;
}


$PassWord="123456";//用户输入密码
$salt="/9Y3z";//数据库中保存注册时产生的随机数
$db_pass="de3def4584727d703feeded7f5d8d082";//数据库中保存的检验密码

if (generate_compiled_passhash($salt,md5($PassWord))==$db_pass){
echo "True";
}else{
echo "False";
}


现数据库中只保存了$salt,$db_pass,求md5($PassWord)的值。
...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
edlongren 2005-03-11
  • 打赏
  • 举报
回复
呵呵,谢谢唠叨大哥,看来现在只有这样解决了呵~
老的论坛会随机产生一个$salt的随机数,
它的密码是通过原密码(用户输入)md5后,并和$salt连接后再md5的~
所以想恢复的话,确实不可能了呵~

只有整合了,在用户登录成功后md5一下更新旧密码呵~:)
此贴保留一天吧~:)
下午再结~~
xuzuning 2005-03-11
  • 打赏
  • 举报
回复
md5是不可逆的,所以不可能得到

不过你可以这样做,在新论坛中加入原用户表
在新论坛的用户登陆部分加入原验证部分
就是说:
当一个用户登陆时先检查是否是新论坛的用户
如果不是,则检查是否为原论坛的用户。
如果是,则从原用户表中提取用户信息到新用户表,并删除原用户表的该用户记录
注意,此时用户密码已由用户提供了
当原用户表为空时,就表示全部移植工作结束了
edlongren 2005-03-11
  • 打赏
  • 举报
回复
to:唠叨大哥,我想知道的是md5($PassWord)的值,

to:疯花血月,我想知道的是怎么还原md5($PassWord)的值,至于导到哪个库到无所谓。

skystar008 2005-03-11
  • 打赏
  • 举报
回复
导到哪个库中?导全部字段?
xuzuning 2005-03-11
  • 打赏
  • 举报
回复
不知道你想干什么?想得到用户密码?那是不可能的
edlongren 2005-03-10
  • 打赏
  • 举报
回复
太痛苦了,从17:22分等到23:22分都没有哪位大哥能帮得上忙~~
自己顶上去~~
edlongren 2005-03-10
  • 打赏
  • 举报
回复
兄弟,那个$PassWord是我拿来测试说明用的~~是未知的~~
因为数据库里面保存的密码不是明码的~~
strayly 2005-03-10
  • 打赏
  • 举报
回复
既然已经知道$PassWord,那md5($PassWord)不就是md5($PassWord)么
edlongren 2005-03-10
  • 打赏
  • 举报
回复
各位帮帮忙啊,自己顶一下吧~~:(

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧