大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一般用来加密密码,因为md5属于不可逆的加密方式,所以认为它的安全性比较高,不过现在网上有一些网站专门提供md5解密,他们这种解密都是用的列举法,基本上12位以下的数字组合都是能够解密的,所以密码一定要用数字和字母的组合。
创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站设计制作、网站制作、移动互联产品、全网营销推广服务为核心业务。十载网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。
虽然md5是不可逆的加密方式,但是网上还是可以解密的,在线解密md5运用的是一次md5加密方式去解析的,解析的方式也是运用强大的数据内容一
一去对比的,找到匹配的就可以了。在程序中你可以多次用md5加密和字符串截取,或者追加字符串,比如密码,传来的值用同样的方式加密和数据库保存的密码做对比就可以了,这样安全性会很高,再强大的md5数据库内容也找不到你设置的密码
首先介绍一下PHP中MD5函数的使用方法:
?php
$pswd1=md5("cenusdesign");
echo
$pswd1;
//运行结果为:fc60ec37d1c08d5b0fb67a8cd934d5ba
$pswd2=md5("Cenusdesign");
echo
$pswd2;
//运行结果为:067577d9fc109c80538c81d6f02bd293
?
显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。
Cenus
Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。
1.
通过get或post获取前台传来的密码
$_POST['password'];
2.
md5
函数加密: $pwd
=
md5($_POST['password']);
3.
写入数据库
insert
into
table(name,pwd)
value('name',$pwd);
把这段密文分割成若干段,对每段都进行一次MD5运算,然后把这堆密文连成一个超长的字符串,最后再进行一次MD5运算,得到仍然是长度为32位的密文。
?php
//把密文分割成两段,每段16个字符
function md5_2_1($data)
{
//先把密码加密成长度为32字符的密文
$data = md5($data);
//把密码分割成两段
$left = substr($data, 0, 16);
$right = substr($data, 16, 16);
//分别加密后再合并
$data = md5($left).md5($right);
//最后把长字串再加密一次,成为32字符密文
return md5($data);
}
//把密文分割成32段,每段1个字符
function md5_2_2($data)
{
$data = md5($data);
//循环地截取密文中的每个字符并进行加密、连接
for ($i = 0; $i 32; $i++) {
$data .= md5($data{$i});
}
//这时$data长度为1024个字符,再进行一次MD5运算
return md5($data);
}
?
你知道下面的程序输出结果是多少吗?
?php
echo md5('');
?
结果是:
d41d8cd98f00b204e9800998ecf8427e
上面的结果你是不是很眼熟呀,它就是你的结果呀,因为你的$_SESSION['pwd']为空,不信你输出看看。