首頁  >  文章  >  後端開發  >  php md5加密可以破解嗎?

php md5加密可以破解嗎?

PHPz
PHPz原創
2017-03-15 10:36:276347瀏覽

我們在php網站開發中使用的加密技術就是MD5,那麼採用MD5加密的演算法能破解嗎或md5加密可逆嗎?讓我們先來看看常用的兩種php資料加密技術。
PHP資料加密技術

#Md5()和Sha1()加密演算法是單向的,不存在反向函數得到原來的明文資料

演算法呼叫:

string md5 ( string $str [, bool $raw_output = false ] )

string Sha1 ( string $str [" bool $raw_output ( string $str [##bool $.

參數

#str

原始字串。

raw_output

如果可選的 raw_output 設定為 TRUE,那麼 MD5 報文摘要將以16位元組長度的原始二進位格式傳回。

傳回值

#MD5()以 32 字元十六進位數字形式傳回散列值。 

Sha1()以 40 字元十六進位數字形式傳回雜湊值。


#$p "123456";
#echo 
#md5

(

$p);

## ?>它的輸出結果如下:

e10adc3949ba59abbe56e057f20f883e

###但這樣使用md5()函數是非常不安全的,如此,大家可以到百度上搜尋md5解密,會發現有解密的網站:############################ ######################## #########

如此可見直接向上面那樣使用md5()函數是不安全的。雖然md5演算法是不可逆的,但因為它對同一個字元字串計算的結果是唯一的,所以有些人可能會使用「字典攻擊」的方式來攻破md5加密的系統。這雖然屬於暴力解密,卻十分有效,因為大多數系統的使用者密碼都不會很長所以我們的md5編碼成的最終資料可以透過一些網站破解:

很顯然,被破解了,直接使用md5()這個演算法是不夠複雜的,然後程式碼修改如下:


$p 
#= "123456";echo md5(
md5
($p ).

md5

(#$p));

#?>

#列印出來的結果:

efd52a4f82c94f80f13671ebd7cd2a6d

到網站破解:

 

#很明顯,他的結果是錯的,我們的密碼是123456而不是零。

我們在一個md5()函數的基礎上可以透過多層md5()演算法進行加密,因為他是單向的,也許大家疑惑為什麼網站能夠破解,其實網站的就是暴力破解,他們是不斷的保存各種編碼和密碼然後再進行匹配最終得到密碼。

######特定###MD5破解方法###請參考:###php md5解密程式碼分享(附接口,親測可用)######### ######相關文章:###############php md5可以解密嗎?##############php md5加密解密演算法和工具(附程式碼)######

MD5加密工具

#

以上是php md5加密可以破解嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn