C# asp.net字符串加密解密

27 篇文章 0 订阅
 
C#代码
  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.     }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值