雖然說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加密,就安全了,如果這樣還被破解了,那就用麵條上吊吧