md5();在線加密

生成MD5

MD5(Message-Digest Algorithm 5,信息-摘要算法 5)簡介:

MD5是一種散列算法,又稱為摘要算法或哈希(Hash)算法。MD5由其前身MD4改進而來,與其同屬一類的算法還有SHA-1等。MD5算法的作用是將不定長的數據經過與、或、非、異或、移位、模冪等運算,產生定長的數據輸出,稱為散列值。通常情況下,不同的輸入得到不同的散列值。優秀的散列算法即使輸入差別甚微,都會導致輸出大為不同,稱為“雪崩效應”。散列算法常與公鑰密碼體制的加密算法共同使用,以檢驗數據的完整性。

關于MD5不是加密算法的解釋:

加密算法 加密算法是一種用來加密或解密的加密算法(一種數學函數)http://docs.oracle.com/cd/E19857-01/819-0823/agglssry.html

現代密碼學將密碼體制分為兩種,對稱密碼體制和非對稱密碼體制(公開密鑰加密體制)。MD5不屬于兩者的任何一種密碼體制,不能僅依靠MD5等散列算法進行保密通信。

與加密算法不同的是散列算法沒有密鑰,并且是單向的,即不能由正向的散列過程推到出逆向的“還原過程”。容易混淆的一點是人們認為加密就是把有具體意義的明文轉換成沒有意義的密文,這樣看來,MD5“確實”是一種“加密算法”。然而對數據加密的目的還不僅于此,不但要讓非接收方不能輕易得到明文,還要讓接收方有快速的方法得到明文,即為解密。解密和破解是兩個概念,解密(decryption)是加密的逆向算法,接收方已知解密密鑰,使用解密算法計算得到明文;破解(crack)是在不知道密鑰的情況下,采用概率統計、差分分析、暴力嘗試等方法得到明文。將MD5值還原成散列前的值只能稱為破解,而非解密。

關于王小云教授MD5碰撞的解釋:

通常情況下,不同的輸入得到不同的散列值。然而存在一種情況是不同的輸入卻得到了相同的散列值,稱之為“碰撞”。盡管優秀的散列算法應當極力避免碰撞的出現,但理論上是不能完全避免的,所以MD5和SHA-1等散列算法中存在碰撞。山東大學的王小云教授提出了一種比較快的找到碰撞的方法,而不是研究出了任何MD5值都可以被逆的逆向算法,MD5算法仍然是不可逆的。

人們還一直在爭論著MD5到底算不算加密算法呢?加密和編碼本質的聯系是什么?散列算法能不能稱為“廣義的加密算法”呢?

我想這個話題還將無休止的討論下去...

?

在線站長工具

在線參考手冊

@百度,什么時候過來談收購?
四川快乐12开奖时间