四联光电智能照明论坛

标题: Encrypt--加密/解密/MD5加密 [打印本页]

作者: admin    时间: 2016-10-30 20:23
标题: Encrypt--加密/解密/MD5加密
1.Encrypt加密
2.Encrypt解密
3.Encrypt MD5加密
看下面代码吧
  1. /// <summary>
  2. /// 类说明:Assistant
  3. /// 编 码 人:苏飞
  4. /// 联系方式:361983679  
  5. /// 更新网站:http://www.cckan.net/thread-655-1-1.html
  6. /// </summary>
  7. using System;
  8. using System.Security.Cryptography;
  9. using System.IO;

  10. namespace DotNet.Utilities
  11. {
  12.   /// <summary>
  13.   /// 加密解密实用类。
  14.   /// </summary>
  15.   public class Encrypt
  16.   {
  17.     //密钥
  18.     private static byte[] arrDESKey = new byte[] {42, 16, 93, 156, 78, 4, 218, 32};
  19.     private static byte[] arrDESIV = new byte[] {55, 103, 246, 79, 36, 99, 167, 3};

  20.     /// <summary>
  21.     /// 加密。
  22.     /// </summary>
  23.     /// <param name="m_Need_Encode_String"></param>
  24.     /// <returns></returns>
  25.     public static string Encode(string m_Need_Encode_String)
  26.     {
  27.       if (m_Need_Encode_String == null)
  28.       {
  29.         throw new Exception("Error: \n源字符串为空!!");
  30.       }
  31.       DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
  32.       MemoryStream objMemoryStream = new MemoryStream();
  33.       CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateEncryptor(arrDESKey,arrDESIV),CryptoStreamMode.Write);
  34.       StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
  35.       objStreamWriter.Write(m_Need_Encode_String);
  36.       objStreamWriter.Flush();
  37.       objCryptoStream.FlushFinalBlock();
  38.       objMemoryStream.Flush();
  39.       return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length);
  40.     }

  41.     /// <summary>
  42.     /// 解密。
  43.     /// </summary>
  44.     /// <param name="m_Need_Encode_String"></param>
  45.     /// <returns></returns>
  46.     public static string Decode(string m_Need_Encode_String)
  47.     {
  48.       if (m_Need_Encode_String == null)
  49.       {
  50.         throw new Exception("Error: \n源字符串为空!!");
  51.       }
  52.       DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
  53.       byte[] arrInput = Convert.FromBase64String(m_Need_Encode_String);
  54.       MemoryStream objMemoryStream = new MemoryStream(arrInput);
  55.       CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateDecryptor(arrDESKey,arrDESIV),CryptoStreamMode.Read);
  56.       StreamReader  objStreamReader  = new StreamReader(objCryptoStream);
  57.       return objStreamReader.ReadToEnd();
  58.     }

  59.         /// <summary>
  60.         /// md5
  61.         /// </summary>
  62.         /// <param name="encypStr"></param>
  63.         /// <returns></returns>
  64.         public static string Md5(string encypStr)
  65.         {
  66.             string retStr;
  67.             MD5CryptoServiceProvider m5 = new MD5CryptoServiceProvider();
  68.             byte[] inputBye;
  69.             byte[] outputBye;
  70.             inputBye = System.Text.Encoding.ASCII.GetBytes(encypStr);
  71.             outputBye = m5.ComputeHash(inputBye);
  72.             retStr = Convert.ToBase64String(outputBye);
  73.             return (retStr);
  74.         }
  75.   }
  76. }
复制代码



作者: admin    时间: 2016-10-30 20:26
  1. /// <summary>
  2. /// 联系方式:361983679  
  3. /// 更新网站:[url=http://www.cckan.net/thread-655-1-1.html]http://www.cckan.net/thread-655-1-1.html[/url]
  4. /// </summary>
  5. using System;
  6. using System.Security.Cryptography;
  7. using System.Text;
  8. namespace DotNet.Utilities
  9. {
  10.     /// <summary>
  11.     /// Encrypt 的摘要说明。
  12.     /// </summary>
  13.     public class DEncrypt
  14.     {
  15.         /// <summary>
  16.         /// 构造方法
  17.         /// </summary>
  18.         public DEncrypt()
  19.         {
  20.         }

  21.         #region 使用 缺省密钥字符串 加密/解密string

  22.         /// <summary>
  23.         /// 使用缺省密钥字符串加密string
  24.         /// </summary>
  25.         /// <param name="original">明文</param>
  26.         /// <returns>密文</returns>
  27.         public static string Encrypt(string original)
  28.         {
  29.             return Encrypt(original, "MATICSOFT");
  30.         }
  31.         /// <summary>
  32.         /// 使用缺省密钥字符串解密string
  33.         /// </summary>
  34.         /// <param name="original">密文</param>
  35.         /// <returns>明文</returns>
  36.         public static string Decrypt(string original)
  37.         {
  38.             return Decrypt(original, "MATICSOFT", System.Text.Encoding.Default);
  39.         }

  40.         #endregion

  41.         #region 使用 给定密钥字符串 加密/解密string
  42.         /// <summary>
  43.         /// 使用给定密钥字符串加密string
  44.         /// </summary>
  45.         /// <param name="original">原始文字</param>
  46.         /// <param name="key">密钥</param>
  47.         /// <param name="encoding">字符编码方案</param>
  48.         /// <returns>密文</returns>
  49.         public static string Encrypt(string original, string key)
  50.         {
  51.             byte[] buff = System.Text.Encoding.Default.GetBytes(original);
  52.             byte[] kb = System.Text.Encoding.Default.GetBytes(key);
  53.             return Convert.ToBase64String(Encrypt(buff, kb));
  54.         }
  55.         /// <summary>
  56.         /// 使用给定密钥字符串解密string
  57.         /// </summary>
  58.         /// <param name="original">密文</param>
  59.         /// <param name="key">密钥</param>
  60.         /// <returns>明文</returns>
  61.         public static string Decrypt(string original, string key)
  62.         {
  63.             return Decrypt(original, key, System.Text.Encoding.Default);
  64.         }

  65.         /// <summary>
  66.         /// 使用给定密钥字符串解密string,返回指定编码方式明文
  67.         /// </summary>
  68.         /// <param name="encrypted">密文</param>
  69.         /// <param name="key">密钥</param>
  70.         /// <param name="encoding">字符编码方案</param>
  71.         /// <returns>明文</returns>
  72.         public static string Decrypt(string encrypted, string key, Encoding encoding)
  73.         {
  74.             byte[] buff = Convert.FromBase64String(encrypted);
  75.             byte[] kb = System.Text.Encoding.Default.GetBytes(key);
  76.             return encoding.GetString(Decrypt(buff, kb));
  77.         }
  78.         #endregion

  79.         #region 使用 缺省密钥字符串 加密/解密/byte[]
  80.         /// <summary>
  81.         /// 使用缺省密钥字符串解密byte[]
  82.         /// </summary>
  83.         /// <param name="encrypted">密文</param>
  84.         /// <param name="key">密钥</param>
  85.         /// <returns>明文</returns>
  86.         public static byte[] Decrypt(byte[] encrypted)
  87.         {
  88.             byte[] key = System.Text.Encoding.Default.GetBytes("MATICSOFT");
  89.             return Decrypt(encrypted, key);
  90.         }
  91.         /// <summary>
  92.         /// 使用缺省密钥字符串加密
  93.         /// </summary>
  94.         /// <param name="original">原始数据</param>
  95.         /// <param name="key">密钥</param>
  96.         /// <returns>密文</returns>
  97.         public static byte[] Encrypt(byte[] original)
  98.         {
  99.             byte[] key = System.Text.Encoding.Default.GetBytes("MATICSOFT");
  100.             return Encrypt(original, key);
  101.         }
  102.         #endregion

  103.         #region  使用 给定密钥 加密/解密/byte[]

  104.         /// <summary>
  105.         /// 生成MD5摘要
  106.         /// </summary>
  107.         /// <param name="original">数据源</param>
  108.         /// <returns>摘要</returns>
  109.         public static byte[] MakeMD5(byte[] original)
  110.         {
  111.             MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
  112.             byte[] keyhash = hashmd5.ComputeHash(original);
  113.             hashmd5 = null;
  114.             return keyhash;
  115.         }


  116.         /// <summary>
  117.         /// 使用给定密钥加密
  118.         /// </summary>
  119.         /// <param name="original">明文</param>
  120.         /// <param name="key">密钥</param>
  121.         /// <returns>密文</returns>
  122.         public static byte[] Encrypt(byte[] original, byte[] key)
  123.         {
  124.             TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
  125.             des.Key = MakeMD5(key);
  126.             des.Mode = CipherMode.ECB;

  127.             return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);
  128.         }

  129.         /// <summary>
  130.         /// 使用给定密钥解密数据
  131.         /// </summary>
  132.         /// <param name="encrypted">密文</param>
  133.         /// <param name="key">密钥</param>
  134.         /// <returns>明文</returns>
  135.         public static byte[] Decrypt(byte[] encrypted, byte[] key)
  136.         {
  137.             TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
  138.             des.Key = MakeMD5(key);
  139.             des.Mode = CipherMode.ECB;

  140.             return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);
  141.         }

  142.         #endregion
  143.     }
  144. }
复制代码





欢迎光临 四联光电智能照明论坛 (http://5xhome.com/) Powered by Discuz! X3.2