C#字符串加密解密方法實(shí)例
本文實(shí)例講述了C#字符串加密解密方法。分享給大家供大家參考。具體如下:
static string encryptKey= "Oyea";
#region 加密字符串 public static string Encrypt(string str)
/// <summary>
/// 加密字符串
/// </summary>
/// <param name="str">要加密的字符串</param>
/// <returns>返回加密后的字符串</returns>
public static string Encrypt(string str)
{
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider(); //實(shí)例化加/解密類(lèi)對(duì)象
byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定義字節(jié)數(shù)組,用來(lái)存儲(chǔ)密鑰
byte[] data = Encoding.Unicode.GetBytes(str);//定義字節(jié)數(shù)組,用來(lái)存儲(chǔ)要加密的字符串
MemoryStream MStream = new MemoryStream();//實(shí)例化內(nèi)存流對(duì)象
//使用內(nèi)存流實(shí)例化加密流對(duì)象
CryptoStream CStream = new CryptoStream(MStream,descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data,0, data.Length); //向加密流中寫(xiě)入數(shù)據(jù)
CStream.FlushFinalBlock(); //釋放加密流
return Convert.ToBase64String(MStream.ToArray());//返回加密后的字符串
}
#endregion
#region 解密字符串 public static string Decrypt(string str)
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="str">要解密的字符串</param>
/// <returns>返回解密后的字符串</returns>
public static string Decrypt(string str)
{
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider(); //實(shí)例化加/解密類(lèi)對(duì)象
byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定義字節(jié)數(shù)組,用來(lái)存儲(chǔ)密鑰
byte[] data = Convert.FromBase64String(str);//定義字節(jié)數(shù)組,用來(lái)存儲(chǔ)要解密的字符串
MemoryStream MStream = new MemoryStream();//實(shí)例化內(nèi)存流對(duì)象
//使用內(nèi)存流實(shí)例化解密流對(duì)象
CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data,0, data.Length); //向解密流中寫(xiě)入數(shù)據(jù)
CStream.FlushFinalBlock(); //釋放解密流
return Encoding.Unicode.GetString(MStream.ToArray()); //返回解密后的字符串
}
#endregion
#endregion
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#字典Dictionary的用法說(shuō)明(注重性能版)
這篇文章主要介紹了C#字典Dictionary的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04C#實(shí)現(xiàn)多線(xiàn)程下載文件的方法
這篇文章主要介紹了C#實(shí)現(xiàn)多線(xiàn)程下載文件的方法,實(shí)例分析了C#多線(xiàn)程及文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#利用ASP.NET?Core開(kāi)發(fā)學(xué)生管理系統(tǒng)詳解
隨著技術(shù)的進(jìn)步,跨平臺(tái)開(kāi)發(fā)已經(jīng)成為了標(biāo)配,在此大背景下,ASP.NET?Core也應(yīng)運(yùn)而生。本文主要利用ASP.NET?Core開(kāi)發(fā)一個(gè)學(xué)生管理系統(tǒng),感興趣的可以學(xué)習(xí)一下2022-01-01基于C#實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的HTTP服務(wù)器實(shí)例
這篇文章主要介紹了基于C#實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的HTTP服務(wù)器的方法,詳細(xì)分析了http服務(wù)器的實(shí)現(xiàn)原理與相關(guān)技巧,以及對(duì)應(yīng)的注意事項(xiàng),需要的朋友可以參考下2014-12-12C#實(shí)現(xiàn)在匿名方法中捕獲外部變量的方法
這篇文章主要介紹了C#實(shí)現(xiàn)在匿名方法中捕獲外部變量的方法,本文直接給出代碼實(shí)例,然后分析了代碼中的一些知識(shí)點(diǎn),需要的朋友可以參考下2015-03-03C#實(shí)現(xiàn)將商品金額小寫(xiě)轉(zhuǎn)換成大寫(xiě)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)將商品金額小寫(xiě)轉(zhuǎn)換成大寫(xiě)的方法,涉及C#數(shù)組與字符串的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08Unity UGUI的LayoutElement布局元素組件介紹使用示例
這篇文章主要為大家介紹了Unity UGUI的LayoutElement布局元素組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07C#中IEnumerable、ICollection、IList、List之間的區(qū)別
IEnumerable、ICollection、IList、List之間的區(qū)別,本文分別分析了它的實(shí)現(xiàn)源碼,從而總結(jié)出了它們之間的關(guān)系和不同之處。對(duì)C# IEnumerable、ICollection、IList、List相關(guān)知識(shí),感興趣的朋友一起看看吧2021-07-07