命名空间
using System.Security.Cryptography;
对称算法的机密密钥
private const string sKey = "123";
对称算法的初始化向量
private const string sIV = "abc";
加密
public static string EncryptString(string Value)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
![](/Images/OutliningIndicators/InBlock.gif)
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
![](/Images/OutliningIndicators/InBlock.gif)
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
![](/Images/OutliningIndicators/InBlock.gif)
return Convert.ToBase64String(ms.ToArray());
}
解密
public static string DecryptString(string Value)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
![](/Images/OutliningIndicators/InBlock.gif)
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
![](/Images/OutliningIndicators/InBlock.gif)
return Encoding.UTF8.GetString(ms.ToArray());
}