// 将字节写到转换流里面去。
            cStream.Write(toEncrypt, 0, toEncrypt.Length);
            cStream.FlushFinalBlock();
// 在调用转换流的FlushFinalBlock方法后,内部就会进行转换了,此时mStream就是加密后的流了。
            byte[] ret = mStream.ToArray();
// Close the streams.
            cStream.Close();
            mStream.Close();
//将加密后的字节进行64编码。
            return Convert.ToBase64String(ret);
        }
解密方法也类似:
复制代码 代码如下:
/// <summary>
        /// 获取解密后的值
        /// </summary>
        /// <param>经过加密后的字符串.</param>
        /// <returns></returns>
        public string GetDecryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();
byte[] inputEquivalent = Convert.FromBase64String(inputValue);
// 创建内存流保存解密后的数据
            MemoryStream msDecrypt = new MemoryStream();
// 创建转换流。
            CryptoStream csDecrypt = new CryptoStream(msDecrypt,
                                                        provider.CreateDecryptor(),
                                                        CryptoStreamMode.Write);
csDecrypt.Write(inputEquivalent, 0, inputEquivalent.Length);
csDecrypt.FlushFinalBlock();
            csDecrypt.Close();
//获取字符串。
            return new UTF8Encoding().GetString(msDecrypt.ToArray());
        }
完整的CryptoHelper代码如下:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using System.Configuration;
namespace WindowsFormsApplication1
{
    public class CryptoHelper
    {
        //private readonly string IV = "SuFjcEmp/TE=";
        private readonly string IV = string.Empty;
        //private readonly string Key = "KIPSToILGp6fl+3gXJvMsN4IajizYBBT";
        private readonly string Key = string.Empty;
public CryptoHelper()
        {
            IV = ConfigurationManager.AppSettings["IV"];
            Key = ConfigurationManager.AppSettings["Key"];
        }
/// <summary>
        /// 获取加密后的字符串
        /// </summary>
        /// <param>输入值.</param>
        /// <returns></returns>
        public string GetEncryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();
// 创建内存流来保存加密后的流
            MemoryStream mStream = new MemoryStream();
// 创建加密转换流
            CryptoStream cStream = new CryptoStream(mStream,
