主要是對稱加密和非對稱加密兩種。可供各位參考:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.security.cryptography;
using system.io;
namespace encryptdll
else if (sha1.computehash(encoding.default.getbytes(strkey)).length < tdes.key.length)
//初始向量的設定
if (sha1.computehash(encoding.default.getbytes(strnameplusbirthday)).length > tdes.iv.length)
else if (sha1.computehash(encoding.default.getbytes(strnameplusbirthday)).length < tdes.iv.length)
byte encryptbuffer = encoding.default.getbytes(strmsg);
memorystream streammemory = new memorystream();
cryptostream crystream = null;
//加密流
byte readbuffer;
//用來接受加密資料
trycatch
finally
return readbuffer;
}#endregion
#region 對稱解密**
/// 對稱解密方法 ///
/// 需要解密的資料 ///
/// 解密key ///
/// 解密向量 ///
/// 解密後的資料
public static string symmetricdecryptionfunction(this byte bufmsg, string key, string iv)
else if (sha1.computehash(encoding.default.getbytes(strkey)).length < tdes.key.length)
//初始向量的設定
if (sha1.computehash(encoding.default.getbytes(strnameplusbirthday)).length > tdes.iv.length)
else if (sha1.computehash(encoding.default.getbytes(strnameplusbirthday)).length < tdes.iv.length)
byte readbuffer = bufmsg;
memorystream streamread = new memorystream(readbuffer);
cryptostream decrystream = null;
byte bufferreader;
tryfinally
string decrystring = encoding.default.getstring(bufferreader);
return decrystring;
}#endregion
}#endregion
}namespace encryptdll
#endregion
#region 非對稱加密**
/// 非對稱加密方法 ///
/// 要加密的資料 ///
/// 加密的公鑰 ///
/// 返回加密後的byte資料
public static byte asymmetricencryptrsafunction(this string strmsg, string strpublickey)
catch
return encrybuffer;
}#endregion
#region 非對稱解密**
/// /// 非對稱解密方法 ///
/// 需要解密的byte型別資料
/// 解密的私鑰
/// 解密後的資料string型別
public static string asymmetricdecryptrsafunction(this byte bytemsg, string strprivatekey)
catch (exception e)
return encoding.utf8.getstring(decryptbuffers);
}#endregion
}#endregion
}
對稱加密和非對稱加密!
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...
對稱加密和非對稱加密
對稱加密是最快速 最簡單的一種加密方式,加密 encryption 與解密 decryption 用的是同樣的金鑰 secretkey 對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。非對稱加密為 資料的加密 與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰 p...
對稱加密和非對稱加密
對稱加密是最快速 最簡單的一種加密方式,加密 encryption 與解密 decryption 用的是同樣的金鑰 secret key 對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。對稱加密通常使用的是相對較小的金鑰,一般小於256 bit。因為金鑰越大,加密越強...