国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C#可逆加密算法收集

2019-11-17 04:27:07
字體:
供稿:網(wǎng)友
最近要用到這個順帶收集下 
以下是關(guān)于對稱加密算法的C#實(shí)現(xiàn)代碼,大家可以根據(jù)需要更改不同的算法,文中以Rijndael算法為例:view plaincopy to clipboardPRint?
using System;  
using System.IO;  
using System.Security.Cryptography;  
 
using System.Text;  
 
namespace DataCrypto  
{  
 /// <summary>  
 /// 對稱加密算法類  
 /// </summary>  
 public class SymmetricMethod  
 {  
   
 private SymmetricAlgorithm mobjCryptoService;  
 private string Key;  
 /// <summary>  
 /// 對稱加密類的構(gòu)造函數(shù)  
 /// </summary>  
 public SymmetricMethod()  
 {  
 mobjCryptoService = new RijndaelManaged();  
 Key = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7";  
 }  
 /// <summary>  
 /// 獲得密鑰  
 /// </summary>  
 /// <returns>密鑰</returns>  
 private byte[] GetLegalKey()  
 {  
 string sTemp = Key;  
 mobjCryptoService.GenerateKey();  
 byte[] bytTemp = mobjCryptoService.Key;  
 int KeyLength = bytTemp.Length;  
 if (sTemp.Length > KeyLength)  
 sTemp = sTemp.Substring(0, KeyLength);  
 else if (sTemp.Length < KeyLength)  
 sTemp = sTemp.PadRight(KeyLength, ' ');  
 return ASCIIEncoding.ASCII.GetBytes(sTemp);  
 }  
 /// <summary>  
 /// 獲得初始向量IV  
 /// </summary>  
 /// <returns>初試向量IV</returns>  
 private byte[] GetLegalIV()  
 {  
 string sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk";  
 mobjCryptoService.GenerateIV();  
 byte[] bytTemp = mobjCryptoService.IV;  
 int IVLength = bytTemp.Length;  
 if (sTemp.Length > IVLength)  
 sTemp = sTemp.Substring(0, IVLength);  
 else if (sTemp.Length < IVLength)  
 sTemp = sTemp.PadRight(IVLength, ' ');  
 return ASCIIEncoding.ASCII.GetBytes(sTemp);  
 }  
 /// <summary>  
 /// 加密方法  
 /// </summary>  
 /// <param name="Source">待加密的串</param>  
 /// <returns>經(jīng)過加密的串</returns>  
 public string Encrypto(string Source)  
 {  
 byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);  
 MemoryStream ms = new MemoryStream();  
 mobjCryptoService.Key = GetLegalKey();  
 mobjCryptoService.IV = GetLegalIV();  
 ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();  
 CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);  
 cs.Write(bytIn, 0, bytIn.Length);  
 cs.FlushFinalBlock();  
 ms.Close();  
 byte[] bytOut = ms.ToArray();  
 return Convert.ToBase64String(bytOut);  
 }  
 /// <summary>  
 /// 解密方法  
 /// </summary>  
 /// <param name="Source">待解密的串</param>  
 /// <returns>經(jīng)過解密的串</returns>  
 public string Decrypto(string Source)  
 {  
 byte[] bytIn = Convert.FromBase64String(Source);  
 MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);  
 mobjCryptoService.Key = GetLegalKey();  
 mobjCryptoService.IV = GetLegalIV();  
 ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor();  
 CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);  
 StreamReader sr = new StreamReader(cs);  
 return sr.ReadToEnd();  
 }  
 }  

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武山县| 正定县| 石家庄市| 武汉市| 巩留县| 鄂伦春自治旗| 铁力市| 三都| 宁强县| 小金县| 北碚区| 南京市| 丹寨县| 出国| 永吉县| 浏阳市| 会宁县| 温泉县| 西乡县| 蒙山县| 汉源县| 清水县| 新乡县| 新蔡县| 道孚县| 磴口县| 洛浦县| 惠东县| 霞浦县| 新宾| 涟源市| 建瓯市| 西充县| 太仆寺旗| 杭州市| 景德镇市| 合江县| 株洲县| 三明市| 奉贤区| 台江县|