四联光电智能照明论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1916|回复: 1
打印 上一主题 下一主题

Encrypt--加密/解密/MD5加密

[复制链接]
  • TA的每日心情
    开心
    2018-12-28 16:25
  • 817

    主题

    1556

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14941
    跳转到指定楼层
    楼主
    发表于 2016-10-30 20:23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    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. }
    复制代码


  • TA的每日心情
    开心
    2018-12-28 16:25
  • 817

    主题

    1556

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14941
    沙发
     楼主| 发表于 2016-10-30 20:26:30 | 只看该作者
    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. }
    复制代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Silian Lighting+ ( 蜀ICP备14004521号-1 )

    GMT+8, 2024-5-5 16:30 , Processed in 1.093750 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表