程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 自定義復雜MD5加密函數

php 自定義復雜MD5加密函數

編輯:關於PHP編程

本文章是先自己自定義復雜MD5加密函數對密碼進行加密,然後再由系統的md5加密程序進行加密,下面我來介紹一下實現方法。

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

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

自己寫程序一般習慣加上特征字符串再MD5,自以為萬無一失,但是今天發現cmd5居然可以破解這種加密方式,當然前提是要知道特征字符串,雖然我的更為復雜,不過出於防范心理,還是對加密函數進行了復雜化。

 代碼如下 復制代碼 function md123($sstr)
{
$md_asc=”";
$mds=md5(“qwEqw”.$sstr.”2ddsdf”);
$mds=md5(“rtrTtyr”.$mds.”zcv34r”);
for($i=1;$i< strlen($mds);$i++){
$md_asc.=168/ord(substr($mds,$i,1));
}
return md5($md_asc);
}

這樣通過隨即字符串和ascii ,使密碼安全性得到進一步提高,在通過ord的時候,一個簡單的1已經被轉換成了一下字符:

1.73195876288662.94736842105261.66336633663373.1111

1111111113.23076923076923.16981132075471.731958762

88661.683.42857142857142.94736842105261.681.681.6470

5882352943.11111111111111.66336633663372.94736842

105263.42857142857141.66336633663373.1698113207547

3.16981132075473.11111111111111.69696969696971.681.7

1428571428573.16981132075471.71428571428573.294117

64705881.681.64705882352941.69696969696971.64705882

352946ccc2eceada95b64bc7f55c07c2a6af6

這樣再進行MD5加密,就安全了,如果這樣還被破解了,那就用面條上吊吧

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved