C語言實現MD5加密,竟如此簡單!

一品威客01發表於2021-02-19

一、摘要演算法

摘要演算法又稱雜湊演算法。

它表示輸入任意長度的資料,輸出固定長度的資料,它的主要特徵是加密過程不需要金鑰,並且經過加密的資料無法被解密。

目前可以被解密逆向的只有CRC32演算法,只有輸入相同的明文資料經過相同的訊息摘要演算法才能得到相同的密文。

訊息摘要演算法不存在金鑰的管理與分發問題,適合於分散式網路上使用。由於其加密計算的工作量相當巨大,所以以前的這種演算法通常只用於資料量有限的情況下的加密。

訊息摘要演算法分為三類:

MD(Message Digest):訊息摘要 SHA(Secure Hash Algorithm):安全雜湊 MAC(Message Authentication Code):訊息認證碼 這三類演算法的主要作用:驗證資料的完整性

二、MD5簡介

MD5即Message-Digest Algorithm 5(資訊-摘要演算法)。

屬於摘要演算法,是一個不可逆過程,就是無論多大資料,經過演算法運算後都是生成固定長度的資料,結果使用16進位制進行顯示的128bit的二進位制串。通常表示為32個十六進位制數連成的字串。

MD5有什麼用?

用於確保資訊傳輸完整一致。是計算機廣泛使用的雜湊演算法之一(又譯摘要演算法、雜湊演算法),主流程式語言普遍已有MD5實現。更多用在文件校驗上,用來生成金鑰檢測文件是否被篡改。

相關文章