本文章是先自己自定義復(fù)雜MD5加密函數(shù)對密碼進(jìn)行加密,然后再由系統(tǒng)的md5加密程序進(jìn)行加密,下面我來介紹一下實現(xiàn)方法.

雖然說md5的密文是有限的,不過其數(shù)量為6.3340286662973277706162286946812e+49,如果對這個數(shù)字沒感覺,你可以想象一下一億的五次方再乘個幾千萬就差不多了.

以前接觸過不少程序,當(dāng)菜鳥黑客的那段時光……,大部分程序加密方式都是“md5”,而且是純加密,本來這也沒有錯,以為md5算法畢竟沒有被破解,但是隨著特征字符串的收集,使用純md5加密已經(jīng)越來越危險.

自己寫程序一般習(xí)慣加上特征字符串再MD5,自以為萬無一失,但是今天發(fā)現(xiàn)cmd5居然可以破解這種加密方式,當(dāng)然前提是要知道特征字符串,雖然我的更為復(fù)雜,不過出于防范心理,還是對加密函數(shù)進(jìn)行了復(fù)雜化.

php 自定義復(fù)雜MD5加密函數(shù)代碼如下:

  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,使密碼安全性得到進(jìn)一步提高,在通過ord的時候,一個簡單的1已經(jīng)被轉(zhuǎn)換成了字符:

  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 

這樣再進(jìn)行MD5加密,就安全了.

轉(zhuǎn)載請注明來源:php 自定義復(fù)雜MD5加密函數(shù)

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。