php md5加密可以破解吗?

PHPz
发布: 2017-03-15 10:36:27
原创
6579人浏览过

我们在php网站开发中用的加密技术就是MD5,那么采用MD5加密的算法能破解吗或者md5加密可逆吗?我们先来看看常用的两种php数据加密技术。
PHP数据加密技术

Md5()和Sha1()加密算法是单向的,不存在逆向函数得到原来的明文数据

算法调用:

string md5 ( string $str [, bool $raw_output = false ] )

string Sha1 ( string $str [, bool $raw_output = false ] )

参数

str

原始字符串。 

raw_output

如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。 

返回值

MD5()以 32 字符十六进制数字形式返回散列值。 

Sha1()以 40 字符十六进制数字形式返回散列值。 


$p "123456";
echo md5($p);
?>

它的输出结果如下:

e10adc3949ba59abbe56e057f20f883e

但是这样使用md5()函数是非常不安全的,如此,大家可以到百度上搜索md5解密,会发现存在解密的网站:

 

如此可见直接向上面那样使用md5()函数是不安全的。虽然md5算法是不可逆的,但是因为它对同一个字符串计算的结果是唯一的,所以一些人可能会使用“字典攻击”的方式来攻破md5加密的系统。这虽然属于暴力解密,却十分有效,因为大多数系统的用户密码都不会很长所以我们的md5编码成的最终数据可以通过一些网站破解:

 

很显然,被破解了,直接使用md5()这个算法是不够复杂的,然后代码修改如下:


$p "123456";
echo md5(md5($p).md5($p));
?>

打印出的结果:

efd52a4f82c94f80f13671ebd7cd2a6d

到网站破解:

 

立即学习PHP免费学习笔记(深入)”;

很明显,他的结果是错误的,我们的密码是123456而不是零。

我们在一个md5()函数的基础上可以通过多层md5()算法进行加密,因为他是单向的,也许大家疑惑为什么网站能够破解,其实网站的就是暴力破解,他们是不断的保存各种编码和密码然后再进行匹配最终得到密码。

具体MD5破解方法请参考:php md5解密代码分享(附接口,亲测可用)

相关文章:

php md5可以解密吗?

php md5加密解密算法和工具(附代码)

MD5加密工具

以上就是php md5加密可以破解吗?的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号