总结md5(md5(password+salt))解密的一次经历
最近找了一套h5游戏源码,准备学习一下搭建,随便自己玩玩。
谁知辛苦搭建完成之后,发现游戏可以正常使用后,想进入后台改下GM,却发现不知道后台地址。
终于找到了后台地址之后,又头疼账号密码,于是我去到了数据库,数据库里有一串md5加密的password和一个salt密码随机值,我一看好的乖乖,搞不了呀。
password: e10adc3949ba59abbe56e057f20f883e salt: 109907
于是网上搜索md5解密,解出一串123456之后发现无法登陆(显示账号密码错误)。
噢,解密失败了。
随后转换思路查看php代码,看看登录页密码生成的逻辑。然后根据逻辑自己生成一个。
<?php
static function hash_password($password,$salt){
return md5(md5($password) .$salt);
}
echo md5(md5("123456") ."100000");
?>
然后我就得到了md5加密后的80ed8bd51e7547383c62f31e14ca85ea,填入数据库,再把100000填入数据库,后台填写账号密码,完美登陆。
总结
md5是不可逆的(虽然使用彩虹表可以将用户密码复原出,某些md5解密的原理就是这样)。
如果有源码,并且是自己熟悉的编程语言编写,解决问题最快的方式往往是看源码看报错。
所属分类:
后端
文章标签:
#php