提要 命名空间: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(