C#字符串加密解密方法实例
本文实例讲述了C#字符串加密解密方法。分享给大家供大家参考。具体如下:
#region加密解密 staticstringencryptKey="Oyea";
#region加密字符串publicstaticstringEncrypt(stringstr)
///<summary> ///加密字符串 ///</summary> ///<paramname="str">要加密的字符串</param> ///<returns>返回加密后的字符串</returns> publicstaticstringEncrypt(stringstr) { DESCryptoServiceProviderdescsp=newDESCryptoServiceProvider(); //实例化加/解密类对象 byte[]key=Encoding.Unicode.GetBytes(encryptKey);//定义字节数组,用来存储密钥 byte[]data=Encoding.Unicode.GetBytes(str);//定义字节数组,用来存储要加密的字符串 MemoryStreamMStream=newMemoryStream();//实例化内存流对象 //使用内存流实例化加密流对象 CryptoStreamCStream=newCryptoStream(MStream,descsp.CreateEncryptor(key,key),CryptoStreamMode.Write); CStream.Write(data,0,data.Length); //向加密流中写入数据 CStream.FlushFinalBlock(); //释放加密流 returnConvert.ToBase64String(MStream.ToArray());//返回加密后的字符串 } #endregion
#region解密字符串 publicstaticstringDecrypt(stringstr)
///<summary> ///解密字符串 ///</summary> ///<paramname="str">要解密的字符串</param> ///<returns>返回解密后的字符串</returns> publicstaticstringDecrypt(stringstr) { DESCryptoServiceProviderdescsp=newDESCryptoServiceProvider(); //实例化加/解密类对象 byte[]key=Encoding.Unicode.GetBytes(encryptKey);//定义字节数组,用来存储密钥 byte[]data=Convert.FromBase64String(str);//定义字节数组,用来存储要解密的字符串 MemoryStreamMStream=newMemoryStream();//实例化内存流对象 //使用内存流实例化解密流对象 CryptoStreamCStream=newCryptoStream(MStream,descsp.CreateDecryptor(key,key),CryptoStreamMode.Write); CStream.Write(data,0,data.Length); //向解密流中写入数据 CStream.FlushFinalBlock(); //释放解密流 returnEncoding.Unicode.GetString(MStream.ToArray()); //返回解密后的字符串 } #endregion #endregion