///
///3DES加密///
/// 加密数据
/// 24位字符的密钥字符串
/// 8位字符的初始化向量字符串
///
public string DESEncrypt(string originalValue, string key, stringIV)
{
SymmetricAlgorithm sa;
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;byte[] byt;
sa= newTripleDESCryptoServiceProvider();
sa.Key=Encoding.UTF8.GetBytes(key);
sa.IV=Encoding.UTF8.GetBytes(IV);
ct=sa.CreateEncryptor();
byt=Encoding.UTF8.GetBytes(originalValue);
ms= newMemoryStream();
cs= newCryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt,0, byt.Length);
cs.FlushFinalBlock();
cs.Close();returnConvert.ToBase64String(ms.ToArray());
}///
///3DES解密///
/// 解密数据
/// 24位字符的密钥字符串(需要和加密时相同)
/// 8位字符的初始化向量字符串(需要和加密时相同)
///
public static string DESDecrypst(string data, string key, stringIV)
{
SymmetricAlgorithm mCSP= newTripleDESCryptoServiceProvider() ;
mCSP.Key=Encoding.UTF8.GetBytes(key);
mCSP.IV=Encoding.UTF8.GetBytes(IV);
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;byte[] byt;
ct=mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt=Convert.FromBase64String(data);
ms= newMemoryStream();
cs= newCryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt,0, byt.Length);
cs.FlushFinalBlock();
cs.Close();returnEncoding.UTF8.GetString(ms.ToArray());
}
调用方法: