知识大全 字符串加密解密类

Posted

篇首语:谁和我一样用功,谁就会和我一样胜利。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 字符串加密解密类相关的知识,希望对你有一定的参考价值。

   using System;

     using System Text;

     using System Security Cryptography;

     using System IO;

  

  

  

     //默认密钥向量

     private static byte[] Keys = x x x x x xAB xCD xEF ;

     /// <summary>

   /// DES加密字符串

   /// </summary>

   /// <param name= encryptString >待加密的字符串</param>

   /// <param name= encryptKey >加密密钥 要求为 位</param>

   /// <returns>加密成功返回加密后的字符串 失败返回源串</returns>

   public static string EncryptDES(string encryptString string encryptKey)

  

        try

       

            byte[] rgbKey = Encoding UTF GetBytes(encryptKey Substring( ));

            byte[] rgbIV = Keys;

            byte[] inputByteArray = Encoding UTF GetBytes(encryptString);

            DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();

            MemoryStream mStream = new MemoryStream();

            CryptoStream cStream = new CryptoStream(mStream dCSP CreateEncryptor(rgbKey rgbIV) CryptoStreamMode Write);

            cStream Write(inputByteArray inputByteArray Length);

            cStream FlushFinalBlock();

            return Convert ToBase String(mStream ToArray());

       

        catch

       

            return encryptString;

       

  

  

   /// <summary>

   /// DES解密字符串

   /// </summary>

   /// <param name= decryptString >待解密的字符串</param>

   /// <param name= decryptKey >解密密钥 要求为 位 和加密密钥相同</param>

   /// <returns>解密成功返回解密后的字符串 失败返源串</returns>

   public static string DecryptDES(string decryptString string decryptKey)

  

        try

       

            byte[] rgbKey = Encoding UTF GetBytes(decryptKey);

            byte[] rgbIV = Keys;

            byte[] inputByteArray = Convert FromBase String(decryptString);

            DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();

            MemoryStream mStream = new MemoryStream();

            CryptoStream cStream = new CryptoStream(mStream DCSP CreateDecryptor(rgbKey rgbIV) CryptoStreamMode Write);

            cStream Write(inputByteArray inputByteArray Length);

            cStream FlushFinalBlock();

            return Encoding UTF GetString(mStream ToArray());

       

        catch

       

            return decryptString;

       

  

  使用方法为

  //获取页面字符串

  var strSource = Request Forms[ xxx ] value;

  //加密

  var strResult = EncryptDES(strSource );

  //解密

cha138/Article/program/net/201311/13685

相关参考