一、簡介
md5的全稱是message-digest algorithm 5(資訊摘要演算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來。
訊息摘要演算法的主要特徵是加密過程不需要金鑰,並且經過加密的資料無法被解密,只有輸入相同的明文資料經過相同的訊息摘要演算法才能得到相同的密文。訊息摘要演算法不存在金鑰的管理與分發問題,適合於分布式網路上使用。由於其加密計算的工作量相當可觀,所以以前的這種演算法通常只用於資料量有限的情況下的加密,例如計算機的口令就是用不可逆加密演算法加密的。近年來,隨著計算機效能的飛速改善,加密速度不再成為限制這種加密技術發展的桎梏,因而訊息摘要演算法應用的領域不斷增加。
二、實現
//////md5加密類
///public
class
md5helper
//////
md5加密
///加權:有
///位數:32位
/// ///
明文 ///
隨機字串
///返回32位的密文
public
static
string encrypt(string plaintext, string
salt)
//////
md5加密
///加權:無
///位數:32位或16位
/// ///
明文 ///
是 返回32位,否返回16位
///public
static
string encrypt(string plaintext, bool
isthirtytwo)
//////
md5加密
///加權:有
///位數:32位或16位
/// ///
//////
///public
static
string encrypt(string plaintext, bool isthirtytwo, string
salt)
if (!string.isnullorempty(salt))
md5cryptoserviceprovider md5 = new
md5cryptoserviceprovider();
byte bytresult =md5.computehash(encoding.utf8.getbytes(plaintext));
md5.clear();
string result =string.empty;
if(isthirtytwo)
else
return result.replace("
-", ""
); }
}
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加密演算法
全稱 message digest algorithm 5 翻譯過來就是 資訊 摘要 演算法 5 md5訊息摘要演算法,屬hash演算法一類。md5演算法對輸入任意長度的訊息進行執行,產生乙個128位的訊息摘要。以下所描述的訊息長度 填充資料都以位 bit 為單位,位元組序為小端位元組。1.特點 1...