在回答這個問題之前,我們先分別來了解一下兩個知識點:
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 算法不是加密算法!
嘿,你在看嗎?