.net中的加解密操作所涉及的物件都在命名空間system.security.cryptography下,用來產生一些資料片段(例如訊息或會話項)的雜湊值的演算法。好的雜湊演算法具有在輸入資料中的更改可以更改結果雜湊值中每個位元的特性;因此,雜湊對於檢測在諸如訊息等大型資訊物件中的任何變化很有用。此外,好的雜湊演算法使得構造兩個獨立的有相同雜湊的輸入不能通過計算方法實現。所以應先在程式中新增using system.security.cryptography。
典型的雜湊演算法包括md2、md4、md5 和 sha-1。雜湊演算法也被稱為雜湊函式。雜湊演算法就是爭取乙個蘿蔔乙個坑的原則。
//////md5方式加密字串的方法
/// ///
要進行加密的字串
///加密後的字串
public
static
string md5encrypt(string
source)
return
returnresult;
}catch
(exception ex)
}
//////sha1方式加密字串的方法
/// ///
要進行加密的字串
///加密後的字串
public
static
string sha1encrypt(string
source)
return
returnresult;
}catch
(exception ex)
}
傳送者把原文通過乙個加密的演算法,用金鑰進行加密後將密文傳送給接收者;接收者再用這個金鑰對密文進行解密,得到原文。由於常用的加密演算法都是公開的,所以對原文的加密的關鍵就是金鑰了。對於這種加解密都使用同樣的金鑰的演算法,我們稱之為對稱加密,對稱加密的代表演算法就是des演算法。
對稱加解密的缺陷:由於加解密使用相同的金鑰,那麼這個金鑰最少要儲存在兩個地方,如果加密的資料要發給多人,那麼就會有很多人知道金鑰,大大增加了金鑰洩露的風險;並且金鑰需要由傳送方傳遞給接收方,那麼如何保證金鑰的傳遞的安全,則成了另外乙個頭疼的事情。為了解決這個問題,相對於對稱加密,又出現了非對稱加密。
//////des加密金鑰
/// public
const
string m_encryptkey = "
auto@#$&
";
//////des方式加密字串的方法
/// ///
要進行加密的字串
///加密後的字串
public
static
string desencrypt(string
source)
;try
catch
(exception ex)
}
//////des方式解密字串的方法
/// ///
要進行解密的字串
///解密後的字串
public
static
string desdecrypt(string
source)
;byte inputbytearray = new
byte[source.length];
try
catch
(exception ex)
}
加解密演算法
工作中經常用到加解密演算法大概有以下三種 由不定長的資料轉化為固定長的字串,代表有 sha1 str raw out false 演算法不夠複雜raw out預設為false,生成乙個32位的加密串 如果為true,則生成乙個16位的二進位製流 md5 str strict false strict...
加解密演算法
演算法型別 特點優勢 缺陷代表演算法 非對稱加密 加解密金鑰不相關 無需提前共享金鑰 計算效率低,仍存在中間人攻擊可能 rsa elgamal 橢 圓曲線系列演算法 對稱加密 加解密金鑰相同或可推算 計算效率高,加密強度高 需提前共享金鑰 易洩露 des 3des aes idea 對稱加密 sym...
加解密演算法二 非對稱加解密及RSA演算法的實現
加密和解密使用不同的金鑰的一類加密演算法。這類加密演算法通常有兩個金鑰a和b,使用金鑰a加密資料得到的密文,只有金鑰b可以進行解密操作 即使金鑰a也無法解密 相反,使用金鑰b加密資料得到的密文,只有金鑰a可以解密。這兩個金鑰分別稱為私鑰和公鑰。私鑰就是你個人保留,不能公開的金鑰,而公鑰則是公開給加解...