本文章是先自己自定義復(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ù)代碼如下:
- 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,使密碼安全性得到進(jìn)一步提高,在通過ord的時候,一個簡單的1已經(jīng)被轉(zhuǎn)換成了字符:
- 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
這樣再進(jìn)行MD5加密,就安全了.
轉(zhuǎn)載請注明來源:php 自定義復(fù)雜MD5加密函數(shù)哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。
