关于用户密码加密md5(md5(password+salt))被破解!

light86 2020-05-14 01:51:35
大部分网站用户密码是使用md5加密,很多为了安全。可能是多层md5加密。类似于: md5(md5(password+salt))

其实这样也是不安全的。因为前两天给客户开发的网站,找第三方检测公司。有个sql入侵。成功拿到了管理员的密码。然后在cmd5网站上可以解密;


像这样的2层,3层md5+盐,可以轻松在线解释掉。

于是我把项目加密方式改成如下:

function md6($str){
$result=md7($str);
echo "原来:".$result."<br>";
for($i=0;$i<16;$i++){
$start=$i*2;
$thisPass=md7(substr($result,$start,2));
$thisPass=substr($thisPass,$start,2);
$pass.=$thisPass;
echo "第".$i."次:".$thisPass."| 累计:".$pass."<br>";
}
return md7($pass);
}
function md7($str){
return md5(md5(md5($str."20_^@#$")));
}
/*/超级变态的加密算法
第一遍将原密码通过md7加密,然后将加密后的32个字符每次截取2次再加密。加密结果再截取2位。一共加16次,截取16次,每次截取2位,组合在一起产生32个加密结果,然后再来一篇md7
*/


$str="admin";
$pass=md6($str);
echo "加密结果".$pass."<br>以下是计算过程<br>";


运行结果:

如果能把:adb545a4c9f3a99f2510ea19e118fa79 破解成admin 我是佩服五体投地!
...全文
2207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接用password_hash加密不香吗?
夏之冰雪 2020-05-18
  • 打赏
  • 举报
回复
一般都是加固定盐,进行加密。然后还要有随机盐,进行加密。很少看见你这种设计方式,嵌套加密。
xuzuning 2020-05-17
  • 打赏
  • 举报
回复
MDS 是索引,并不是加密,不存在破解一说,谁要把精力放在所谓的“破解”上的话,那只能说他愚不可及!!!
trainee 2020-05-15
  • 打赏
  • 举报
回复
杜绝SQL入侵是关键 假如黑客拿到密文和加密方法,假如设的密码不够复杂,用穷举法是很容易破的
light86 2020-05-15
  • 打赏
  • 举报
回复
引用 1 楼 Simple-Soft 的回复:
最重要的不是这个,最重要的是安全性,怎么样保护书包不被非法获取,像你说的sql注入就轻松拿到密码了,如果你的源码被人拿到了,加密再好也没有意义
是的。提前是我们在程序没有漏洞的情况下。
Simple-Soft 2020-05-14
  • 打赏
  • 举报
回复
最重要的不是这个,最重要的是安全性,怎么样保护书包不被非法获取,像你说的sql注入就轻松拿到密码了,如果你的源码被人拿到了,加密再好也没有意义

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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