国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現基于Base64的加密解密類實例

2020-01-24 02:05:50
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現基于Base64的加密解密類。分享給大家供大家參考。具體如下:

這個C#類是一個基于Base64的加密和解密類,用戶可以可以使用默認的秘鑰進行加密、解密,也可以自己設定秘鑰進行加密和解密,非常實用

using System;using System.Security.Cryptography; using System.Text;namespace DotNet.Utilities{ /// <summary> /// Encrypt 的摘要說明。 /// </summary> public class DEncrypt {  /// <summary>  /// 構造方法  /// </summary>  public DEncrypt()   {   }   #region 使用 缺省密鑰字符串 加密/解密string  /// <summary>  /// 使用缺省密鑰字符串加密string  /// </summary>  /// <param name="original">明文</param>  /// <returns>密文</returns>  public static string Encrypt(string original)  {   return Encrypt(original,"sharejs.com");  }  /// <summary>  /// 使用缺省密鑰字符串解密string  /// </summary>  /// <param name="original">密文</param>  /// <returns>明文</returns>  public static string Decrypt(string original)  {   return Decrypt(original,"sharejs.com",System.Text.Encoding.Default);  }  #endregion  #region 使用 給定密鑰字符串 加密/解密string  /// <summary>  /// 使用給定密鑰字符串加密string  /// </summary>  /// <param name="original">原始文字</param>  /// <param name="key">密鑰</param>  /// <param name="encoding">字符編碼方案</param>  /// <returns>密文</returns>  public static string Encrypt(string original, string key)   {    byte[] buff = System.Text.Encoding.Default.GetBytes(original);    byte[] kb = System.Text.Encoding.Default.GetBytes(key);   return Convert.ToBase64String(Encrypt(buff,kb));     }  /// <summary>  /// 使用給定密鑰字符串解密string  /// </summary>  /// <param name="original">密文</param>  /// <param name="key">密鑰</param>  /// <returns>明文</returns>  public static string Decrypt(string original, string key)  {   return Decrypt(original,key,System.Text.Encoding.Default);  }  /// <summary>  /// 使用給定密鑰字符串解密string,返回指定編碼方式明文  /// </summary>  /// <param name="encrypted">密文</param>  /// <param name="key">密鑰</param>  /// <param name="encoding">字符編碼方案</param>  /// <returns>明文</returns>  public static string Decrypt(string encrypted, string key,Encoding encoding)   {       byte[] buff = Convert.FromBase64String(encrypted);    byte[] kb = System.Text.Encoding.Default.GetBytes(key);   return encoding.GetString(Decrypt(buff,kb));     }   #endregion  #region 使用 缺省密鑰字符串 加密/解密/byte[]  /// <summary>  /// 使用缺省密鑰字符串解密byte[]  /// </summary>  /// <param name="encrypted">密文</param>  /// <param name="key">密鑰</param>  /// <returns>明文</returns>  public static byte[] Decrypt(byte[] encrypted)   {    byte[] key = System.Text.Encoding.Default.GetBytes("sharejs.com");    return Decrypt(encrypted,key);     }  /// <summary>  /// 使用缺省密鑰字符串加密  /// </summary>  /// <param name="original">原始數據</param>  /// <param name="key">密鑰</param>  /// <returns>密文</returns>  public static byte[] Encrypt(byte[] original)   {    byte[] key = System.Text.Encoding.Default.GetBytes("sharejs.com");    return Encrypt(original,key);     }   #endregion  #region 使用 給定密鑰 加密/解密/byte[]  /// <summary>  /// 生成MD5摘要  /// </summary>  /// <param name="original">數據源</param>  /// <returns>摘要</returns>  public static byte[] MakeMD5(byte[] original)  {   MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();     byte[] keyhash = hashmd5.ComputeHash(original);       hashmd5 = null;    return keyhash;  }  /// <summary>  /// 使用給定密鑰加密  /// </summary>  /// <param name="original">明文</param>  /// <param name="key">密鑰</param>  /// <returns>密文</returns>  public static byte[] Encrypt(byte[] original, byte[] key)   {    TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();       des.Key = MakeMD5(key);   des.Mode = CipherMode.ECB;    return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);     }   /// <summary>  /// 使用給定密鑰解密數據  /// </summary>  /// <param name="encrypted">密文</param>  /// <param name="key">密鑰</param>  /// <returns>明文</returns>  public static byte[] Decrypt(byte[] encrypted, byte[] key)   {    TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();    des.Key = MakeMD5(key);     des.Mode = CipherMode.ECB;    return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);  }   #endregion }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 时尚| 昌吉市| 克什克腾旗| 梧州市| 聊城市| 广南县| 萨迦县| 金平| 日土县| 广南县| 沅江市| 渭南市| 蒲城县| 宜州市| 富蕴县| 永登县| 临泽县| 兴宁市| 界首市| 哈密市| 金堂县| 德惠市| 焦作市| 巴马| 阿坝县| 莫力| 六安市| 潼关县| 万荣县| 宝应县| 普兰店市| 郯城县| 平潭县| 辽中县| 抚宁县| 宁乡县| 靖边县| 客服| 清河县| 上饶市| 郁南县|