最近在面試中問到專案為什麼要使用md5加密,對其他加密演算法也不是很理解。
於是利用這篇文章進行總結。
常用加密演算法可以分為單向加密和雙向加密。
des(data encryption standard)資料加密標準演算法,是一種雙向加密演算法,也是對稱性加密演算法。入口引數包括:key,data,mode。key為加密秘鑰,data為加密的 資料,mode為加密或解密模式。key共8個位元組64位,其中有56位用於加密公鑰。
工作原理:當需要加密的時候就用key對 data加密,生成密碼形式的data作為輸出結果,解密就需要再利用key對data進行解密獲得原文密碼作為輸出。
特點:
message-digest-algorithm 資訊摘要演算法第五代。屬於hash演算法一代,是一種單向加密演算法,可以將輸入的資訊加密轉換為128位固定長度的雜湊值,用於檢驗資料傳輸過程中的完整性。
功能:
爭議:
sha-1是一種資料加密演算法,該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預對映或資訊),並把它們轉化為長度較短、位數固定的輸出序列即雜湊值(也稱為資訊摘要或資訊認證**)的過程。
rsa是一種非對稱加密演算法。目前最有影響力的公鑰加密演算法,該演算法基於乙個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰,即公鑰,而兩個大素數組合成私鑰。公鑰是可發布的供任何人使用,私鑰則為自己所有,供解密之用。
解密者擁有私鑰,並且將由私鑰計算生成的公鑰發布給加密者。加密都使用公鑰進行加密,並將密文傳送到解密者,解密者用私鑰解密將密文解碼為明文。
相對於des優缺點:非對稱演算法,加密程度更高。但是對應的加密速度慢幾個數量級。
最近在面試中問到專案為什麼要使用md5加密,對其他加密演算法也不是很理解。
md5加密演算法
md5.h ifndef md5h define md5h include include void rol unsigned int s,unsigned short cx 32位數迴圈左移實現函式 void ltob unsigned int i b l互轉,接受uint型別 unsigned ...
MD5加密演算法
md5訊息摘要演算法 message digest algorithm 它對輸入的任意長度的訊息進行運算,產生乙個128位的訊息摘要。演算法原理 資料填充 填充訊息使其長度與448模512同餘 長度 448 mod 512 即時訊息長度本身已經滿足了上述長度要求也需要填充。填充方法 附乙個1在訊息後...
加密演算法 MD5
一 簡介 md5的全稱是message digest algorithm 5 資訊摘要演算法 在90年代初由mit laboratory for computer science和rsa data security inc的ronald l.rivest開發出來,經md2 md3和md4發展而來。訊...