c# asp.net 字符串加密解密的类

  1. using System;   
  2. using System.Data;   
  3. using System.Configuration;   
  4. using System.Web;   
  5. using System.Web.Security;   
  6. using System.Web.UI;   
  7. using System.Web.UI.WebControls;   
  8. using System.Web.UI.WebControls.WebParts;   
  9. using System.Web.UI.HtmlControls;   
  10. using System.Security.Cryptography;   
  11. using System.IO;   
  12.   
  13. /// <summary>   
  14. /// 密码控制   
  15. /// </summary>   
  16. public class Class_Password   
  17. {   
  18.     const string KEY_64 = "VavicApp";//注意了,是8个字符,64位   
  19.   
  20.     const string IV_64 = "VavicApp";   
  21.   
  22.     public Class_Password()   
  23.     {   
  24.         //   
  25.         // TODO: 在此处添加构造函数逻辑   
  26.         //   
  27.     }  
  28.  
  29.     #region EnCode 加密   
  30.     /// <summary>   
  31.     /// EnCode 加密   
  32.     /// </summary>   
  33.     /// <param name="str">要加密的字符串</param>   
  34.     /// <returns></returns>   
  35.        
  36.     public string EnCode(string data)   
  37.     {   
  38.         byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);   
  39.         byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);   
  40.   
  41.         DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();   
  42.         int i = cryptoProvider.KeySize;   
  43.         MemoryStream ms = new MemoryStream();   
  44.         CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey,   
  45.   
  46. byIV), CryptoStreamMode.Write);   
  47.   
  48.         StreamWriter sw = new StreamWriter(cst);   
  49.         sw.Write(data);   
  50.         sw.Flush();   
  51.         cst.FlushFinalBlock();   
  52.         sw.Flush();   
  53.         return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);   
  54.     }  
  55.     #endregion  
  56.  
  57.     #region DeCode 解密   
  58.     /// <summary>   
  59.     /// DeCode 解密   
  60.     /// </summary>   
  61.     /// <param name="str">要解密的字符串</param>   
  62.     /// <returns></returns>   
  63.     public string DeCode(string data)   
  64.     {   
  65.         byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);   
  66.         byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);   
  67.   
  68.         byte[] byEnc;   
  69.         try  
  70.         {   
  71.             byEnc = Convert.FromBase64String(data);   
  72.         }   
  73.         catch  
  74.         {   
  75.             return null;   
  76.         }   
  77.   
  78.         DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();   
  79.         MemoryStream ms = new MemoryStream(byEnc);   
  80.         CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey,   
  81.   
  82. byIV), CryptoStreamMode.Read);   
  83.         StreamReader sr = new StreamReader(cst);   
  84.         return sr.ReadToEnd();   
  85.     }  
  86.     #endregion   
  87.   
  88. }  


C#代码 复制代码
  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Text;   
  4. using System.Security.Cryptography;//Cryptography密码术   
  5. namespace DAL   
  6. {   
  7.     public class Encry   
  8.     {   
  9.         public Encry() { }  
  10.  
  11.         #region AES加密   
  12.   
  13.         public static string Encrypt(string toEncrypt)   
  14.         {   
  15.             byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");   
  16.             byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);   
  17.   
  18.             RijndaelManaged rDel = new RijndaelManaged();//using System.Security.Cryptography;   
  19.             rDel.Key = keyArray;   
  20.             rDel.Mode = CipherMode.ECB;//using System.Security.Cryptography;   
  21.             rDel.Padding = PaddingMode.PKCS7;//using System.Security.Cryptography;   
  22.   
  23.             ICryptoTransform cTransform = rDel.CreateEncryptor();//using System.Security.Cryptography;   
  24.             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);   
  25.   
  26.             return Convert.ToBase64String(resultArray, 0, resultArray.Length);   
  27.         }  
  28.  
  29.  
  30.  
  31.         #endregion AES加密  
  32.  
  33.  
  34.         #region AES解密   
  35.   
  36.         public static string Decrypt(string toDecrypt)   
  37.         {   
  38.             byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");   
  39.             byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);   
  40.   
  41.             RijndaelManaged rDel = new RijndaelManaged();   
  42.             rDel.Key = keyArray;   
  43.             rDel.Mode = CipherMode.ECB;   
  44.             rDel.Padding = PaddingMode.PKCS7;   
  45.   
  46.             ICryptoTransform cTransform = rDel.CreateDecryptor();   
  47.             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);   
  48.   
  49.             return UTF8Encoding.UTF8.GetString(resultArray);   
  50.         }  
  51.  
  52.  
  53.  
  54.         #endregion AES解密   
  55.     }   
  56. }  
posted on 2009-08-25 14:19  米高佐敦  阅读(338)  评论(0编辑  收藏  举报