十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把这段密文分割成若干段,对每段都进行一次MD5运算,然后把这堆密文连成一个超长的字符串,最后再进行一次MD5运算,得到仍然是长度为32位的密文。
创新互联建站-专业网站定制、快速模板网站建设、高性价比庆城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式庆城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖庆城地区。费用合理售后完善,十多年实体公司更值得信赖。
?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);
}
?
通过get或post获取前台传来的密码 $_POST['password'];
md5函数加密: $pwd = md5($_POST['password']);
写入数据库 insert into table(name,pwd) value('name',$pwd);
首先介绍一下PHP中MD5函数的使用方法:
?php
$pswd1=md5("cenusdesign");
echo
$pswd1;
//运行结果为:fc60ec37d1c08d5b0fb67a8cd934d5ba
$pswd2=md5("Cenusdesign");
echo
$pswd2;
//运行结果为:067577d9fc109c80538c81d6f02bd293
?
显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。
Cenus
Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。