VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php 自定义复杂MD5加密函数

本文章是先自己自定义复杂MD5加密函数对密码进行加密,然后再由系统的md5加密程序进行加密,下面我来介绍一下实现方法.

虽然说md5的密文是有限的,不过其数量为6.3340286662973277706162286946812e+49,如果对这个数字没感觉,你可以想象一下一亿的五次方再乘个几千万就差不多了.

以前接触过不少程序,当菜鸟黑客的那段时光……,大部分程序加密方式都是“md5”,而且是纯加密,本来这也没有错,以为md5算法毕竟没有被破解,但是随着特征字符串的收集,使用纯md5加密已经越来越危险.

自己写程序一般习惯加上特征字符串再MD5,自以为万无一失,但是今天发现cmd5居然可以破解这种加密方式,当然前提是要知道特征字符串,虽然我的更为复杂,不过出于防范心理,还是对加密函数进行了复杂化.

php 自定义复杂MD5加密函数代码如下:

  1. function md123($sstr
  2. $md_asc=”"; 
  3. $mds=md5(“qwEqw”.$sstr.”2ddsdf”); 
  4. $mds=md5(“rtrTtyr”.$mds.”zcv34r”); 
  5. for($i=1;$istrlen($mds);$i++){ 
  6. $md_asc.=168/ord(substr($mds,$i,1)); 
  7. }//开源代码phpfensi.com 
  8. return md5($md_asc); 

这样通过随即字符串和ascii,使密码安全性得到进一步提高,在通过ord的时候,一个简单的1已经被转换成了字符:

  1. 1.73195876288662.94736842105261.66336633663373.1111 
  2.  
  3. 1111111113.23076923076923.16981132075471.731958762 
  4.  
  5. 88661.683.42857142857142.94736842105261.681.681.6470 
  6.  
  7. 5882352943.11111111111111.66336633663372.94736842 
  8.  
  9. 105263.42857142857141.66336633663373.1698113207547 
  10.  
  11. 3.16981132075473.11111111111111.69696969696971.681.7 
  12.  
  13. 1428571428573.16981132075471.71428571428573.294117 
  14.  
  15. 64705881.681.64705882352941.69696969696971.64705882 
  16.  
  17. 352946ccc2eceada95b64bc7f55c07c2a6af6 

这样再进行MD5加密,就安全了.


出处:http://www.phpfensi.com/php/20140822/4633.html


相关教程