日期:2012-01-06  浏览次数:20442 次

提要 命名空间:System.Security.Cryptography.TripleDES 类简单说明: 表示三重数据加密标准算法的基类,TripleDES 的所有实现都必须从此基类派生,但TripleDES是从 SymmetricAlgorithm 类里继承出来。TripleDES 使用 DES 算法的三次连续迭代。它可以使用两个或三个 56 位密钥。      使用目的:比较安全的加密一种方式,密钥和矢量的不同,会生产不同的加密字串。因为是DES算法的三次连续迭代,而且算法可逆,这样对于数据保密性和可恢复性都不错。    使用方法:直接进行字符串输入和输出。二、代码示例本代码参照了部分MSDN上的代码示例,再根据自己的实际情况,补充了一部分MSDN上没有提到的内容 using System;using System.Security;using System.Security.Cryptography;using System.IO;using System.Text;using System.Threading; namespace TRIP3DES{    ///     /// Class1 的摘要说明。    ///     public class dllEncrypt    {      //密钥      private const string sKey = "qJzGEh6hESZDVJeCnFPGuxzaiB7NLQM3";       //矢量,矢量可以为空      private const string sIV = "qcDY6X+aPLw=";      //构造一个对称算法      private SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();         public dllEncrypt(){}       #region public string EncryptString(string Value)      ///       /// 加密字符串      ///       /// 输入的字符串      /// 加密后的字符串      public string EncryptString(string Value)      {         ICryptoTransform ct;         MemoryStream ms;         CryptoStream cs;         byte[] byt;         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.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();         return Convert.ToBase64String(ms.ToArray());      }      #endregion       #region public string DecryptString(string Value)      ///       /// 解密字符串      ///       /// 加过密的字符串      /// 解密后的字符串      public string DecryptString(string Value)      {         ICryptoTransform ct;         MemoryStream ms;         CryptoStream cs;         byte[] byt;         mCSP.Key = Convert.FromBase64String(sKey);         mCSP.IV = Convert.FromBase64String(