下面開始今天的學習~
在回答這個問題之前,我們先分别來了解一下兩個知識點:
- 什麼是 MD5 算法?
- 什麼是加密算法?
一、MD5算法
MD5 即 Message-Digest Algorithm 5(資訊-摘要算法5),用于確定資訊傳輸完整一緻。是計算機廣泛使用的雜湊算法之一,主流程式設計語言普遍已有 MD5 實作。
将資料(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD5 的前身有 MD2 、MD3 和 MD4 。
MD5 是輸入不定長度資訊,輸出固定長度 128-bits 的算法。經過程式流程,生成四個32位資料,最後聯合起來成為一個 128-bits 散列。
基本方式為,求餘、取餘、調整長度、與連結變量進行循環運算,得出結果。
MD5 計算廣泛應用于錯誤檢查。在一些 BitTorrent 下載下傳中,軟體通過計算 MD5 來檢驗下載下傳到的碎片的完整性。
二、加密算法
百度百科:加密,是以某種特殊的算法改變原有的資訊資料,使得未授權的使用者即使獲得了已加密的資訊,但因不知解密的方法,仍然無法了解資訊的内容。
維基百科:在密碼學中,加密(英語:Encryption)是将明文資訊改變為難以讀取的密文内容,使之不可讀的過程。隻有擁有解密方法的對象,經由解密過程,才能将密文還原為正常可讀的内容。
三、對比
也就是說,MD5 算法和加密算法都可以将資訊轉換為另外一種内容。
但是,MD5 算法對比 加密算法 缺少了解密過程。
事實上,使用 加密算法 加密後的消息是完整的,并且基于解密算法後,可以恢複原始資料。
而 MD5 算法 得到的消息是不完整的,并且通過摘要的資料也無法得到原始資料。
是以,MD5 算法不是加密算法!
END