md5碼是什么意思?
md5碼有什么用?
MD5中的MD代表Message Digest,就是信息摘要的意思,不過這個信息摘要不是信息內容的縮寫,而是根據公開的MD5算法對原信息進行數學變換后得到的一個128位(bit)的特征碼。
這個特征碼有如下特性,首先它不可逆,例如我有一段秘密的文字如:"My Secret Words",經算法變換后得到MD5碼(b9944e9367d2e40dd1f0c4040d4daaf7),把這個碼告訴其他人,他們根據這個MD5碼是沒有系統的方法可以知道你原來的文字是什么的。
其次,這個碼具有高度的離散性,也就是說,原信息的一點點變化就會導致MD5的巨大變化,例如"ABC" MD5(902fbdd2b1df0c4f70b4a5d23525e932)和"ABC "(多了一空格)MD5(12c774468f981a9487c30773d8093561)差別非常大,而且之間沒有任何關系,也就是說產生的MD5碼是不可預測的。
最后由于這個碼有128位那么長,所以任意信息之間具有相同MD5碼的可能性非常之低,通常被認為是不可能的。
所以一般認為MD5碼可以唯一地代表原信息的特征,通常用于密碼的加密存儲,數字簽名,文件完整性驗證等。
MD5信息摘要算法:
MD5信息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用于確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,于1992年公開,用以取代MD4算法。這套算法的程序在 RFC 1321 標準中被加以規范。1996年后該算法被證實存在弱點,可以被加以破解,對于需要高度安全性的數據,專家一般建議改用其他算法,如SHA-2。2004年,證實MD5算法無法防止碰撞(collision),因此不適用于安全性認證,如SSL公開密鑰認證或是數字簽名等用途。