C#實現基於Base64的加密解密類執行個體

來源:互聯網
上載者:User

標籤:compute   產生   security   mode   too   normal   view   ice   解密   

本文執行個體講述了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#程式設計有所協助。

除聲明外, 跑步客文章均為原創,轉載請以連結形式標明本文地址
  C#實現基於Base64的加密解密類執行個體

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23065.html






相關內容C# 實現軟體功能執行個體代碼C#擷取滑鼠在listview右鍵點擊儲存格的內容方法在C#中如何使用正式運算式擷取匹配所需資料舉例講解C#編程中委託的執行個體化使用
深入解析C#中的abstract抽象類別C#實現非同步串連Sql Server資料庫的方法C#中的檔案路徑擷取函數和檔案名稱字擷取函數小結C#實現合并多個word文檔的方法

C#實現基於Base64的加密解密類執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.