本文章是先自己自訂複雜MD5加密函數對密碼進行加密,然後再由系統的md5加密程式進行加密,下面我來介紹一下實現方法.
雖然說md5的密文是有限的,不過其數量為6.3340286662973277706162286946812e+49,如果對這個數字沒感覺,你可以想象一下一億的五次方再乘個幾千萬就差不多了.
以前接觸過不少程式,當菜鳥駭客的那段時光……,大部分程式加密方式都是“md5”,而且是純加密,本來這也沒有錯,以為md5演算法畢竟沒有被破解,但是隨著特徵字串的收集,使用純md5加密已經越來越危險.
自己寫程式一般習慣加上特徵字串再MD5,自以為萬無一失,但是今天發現cmd5居然可以破解這種加密方式,當然前提是要知道特徵字串,雖然我的更為複雜,不過出於防範心理,還是對加密函數進行了複雜化.
php 自訂複雜MD5加密函數代碼如下:
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));
}//開原始碼phpfensi.com
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加密,就安全了.