天天看點

講道理,MD5 到底是不是加密算法?

講道理,MD5 到底是不是加密算法?

下面開始今天的學習~

講道理,MD5 到底是不是加密算法?

在回答這個問題之前,我們先分别來了解一下兩個知識點:

  • 什麼是 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