Maison >développement back-end >tutoriel php >php md5加密解密算法和工具(附代码)

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

PHP中文网
PHP中文网original
2017-03-16 18:07:3410903parcourir

本文实例讲述了php md5实现的加密解密方法,MD5算法一般用于对数据进行加密的场合,比如网站的用户登陆密码。对MD5有兴趣的同学可以参考一下。

一.什么是MD5?
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。目前php网站开发中用户的密码都是用MD5进行加密的。

二.md5的加密算法代码

//加密
<body style="color:green;font-size:28px;background:black;font-family:Verdana, sans-serif;">
<?php error_reporting(0);?>
<form name="c" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>" method="get">
Input your text:
<input type="text" name="c" />
<button type="submit" value="Submit" style="color:green;font-size:28px;background:black;">Creat!</button>
</form>
</body>
<?php
//hash encode:
if($c=$_GET[&#39;c&#39;])echo &#39;Roger!Your MD5 code is:<br>&#39;.md5($c).&#39;(32bit)<br>&#39;.substr(md5($c),8,16).&#39;(16bit)&#39;;//截取8到24就是16位的hash,便于储存
?>

三.md5可以解密或者破解吗?

MD5的加密算法是不可逆的加密算法,理论上是不能解密破解的。MD5加密原理是散列算法,散列算法也称哈希算法。计算机专业学的数据结构就有哈希表这一知识点。比如10除以3余数为一,4除以3余数也为一,但余数为一的就不知道这个数是哪个了。所以md5不能解密。就算是设计这个加密算法的人都不知道。但是你的密码是怎么验证的呢?就是因为同一密码加密后一定相同。你输入密码加密后才能知道你的密码是否正确。也就是说,你的密码只有你自己知道。也是为什么扣扣密码只能重置,不能找回的原因。(参考:php md5加密可以破解吗?
但是若采用单MD5简单的密码还是可以暴力破解的,他们是通过不断的保存各种编码和密码然后再进行匹配最终得到密码。不过复杂的密码还是有点难度。(php md5解密代码分享(附接口,亲测可用)

四.通过MD5重置密码方法

由于MD5的加密算法是不可逆的加密算法,所以当你忘记密码了,可以采取重置密码,也可采用覆盖密码。比如网站后台密码,你忘记后,你可以利用php中文网MD5在线加密工具输入欲加密的密码,然后生成MD5密文字符串,把这个密文字符串覆盖原来的数据库用户表中存在的MD5密文即可。

MD5在线加密工具

以上就介绍了php md5实现的加密方法,包括了md5解密的相关内容,希望对PHP中文网的朋友有所帮助。

相关文章:
php md5可以解密吗?

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn