一個C#封裝的加密解密類程式碼
using System;
using System.Text;
using System.Globalization;
using System.Security.Cryptography;
using System.Windows.Forms;
namespace Jh.Encrypts
{
public class JhEncrypt
{
///
/// 構造方法
///
public JhEncrypt()
{
}
///
/// 使用預設金鑰字串加密
///
/// 明文
///密文
public static string Encrypt(string original)
{
return Encrypt(original,"JASONHEUNG");
}
///
/// 使用預設金鑰解密
///
/// 密文
///明文
public static string Decrypt(string original)
{
return Decrypt(original,"JASONHEUNG",System.Text.Encoding.Default);
}
///
/// 使用給定金鑰解密
///
/// 密文
/// 金鑰
///明文
public static string Decrypt(string original, string key)
{
return Decrypt(original,key,System.Text.Encoding.Default);
}
///
/// 使用預設金鑰解密,返回指定編碼方式明文
///
/// 密文
/// 編碼方式
///明文
public static string Decrypt(string original,Encoding encoding)
{
return Decrypt(original,"JASONHEUNG",encoding);
}
///
/// 使用給定金鑰加密
///
/// 原始文字
/// 金鑰
/// 字元編碼方案
///密文
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));
}
///
/// 使用給定金鑰解密
///
/// 密文
/// 金鑰
/// 字元編碼方案
///明文
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));
}
///
/// 生成MD5摘要
///
/// 資料來源
///摘要
public static byte[] MakeMD5(byte[] original)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
byte[] keyhash = hashmd5.ComputeHash(original);
hashmd5 = null;
return keyhash;
}
///
/// 使用給定金鑰加密
///
/// 明文
/// 金鑰
///密文
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);
}
///
/// 使用給定金鑰解密資料
///
/// 密文
/// 金鑰
///明文
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);
}
///
/// 使用給定金鑰加密
///
/// 原始資料
/// 金鑰
///密文
public static byte[] Encrypt(byte[] original)
{
byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG");
return Encrypt(original,key);
}
///
/// 使用預設金鑰解密資料
///
/// 密文
/// 金鑰
///明文
public static byte[] Decrypt(byte[] encrypted)
{
byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG");
return Decrypt(encrypted,key);
}
}
}
using System.Text;
using System.Globalization;
using System.Security.Cryptography;
using System.Windows.Forms;
namespace Jh.Encrypts
{
public class JhEncrypt
{
///
/// 構造方法
///
public JhEncrypt()
{
}
///
/// 使用預設金鑰字串加密
///
/// 明文
///
public static string Encrypt(string original)
{
return Encrypt(original,"JASONHEUNG");
}
///
/// 使用預設金鑰解密
///
/// 密文
///
public static string Decrypt(string original)
{
return Decrypt(original,"JASONHEUNG",System.Text.Encoding.Default);
}
///
/// 使用給定金鑰解密
///
/// 密文
/// 金鑰
///
public static string Decrypt(string original, string key)
{
return Decrypt(original,key,System.Text.Encoding.Default);
}
///
/// 使用預設金鑰解密,返回指定編碼方式明文
///
/// 密文
/// 編碼方式
///
public static string Decrypt(string original,Encoding encoding)
{
return Decrypt(original,"JASONHEUNG",encoding);
}
///
/// 使用給定金鑰加密
///
/// 原始文字
/// 金鑰
/// 字元編碼方案
///
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));
}
///
/// 使用給定金鑰解密
///
/// 密文
/// 金鑰
/// 字元編碼方案
///
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));
}
///
/// 生成MD5摘要
///
/// 資料來源
///
public static byte[] MakeMD5(byte[] original)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
byte[] keyhash = hashmd5.ComputeHash(original);
hashmd5 = null;
return keyhash;
}
///
/// 使用給定金鑰加密
///
/// 明文
/// 金鑰
///
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);
}
///
/// 使用給定金鑰解密資料
///
/// 密文
/// 金鑰
///
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);
}
///
/// 使用給定金鑰加密
///
/// 原始資料
/// 金鑰
///
public static byte[] Encrypt(byte[] original)
{
byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG");
return Encrypt(original,key);
}
///
/// 使用預設金鑰解密資料
///
/// 密文
/// 金鑰
///
public static byte[] Decrypt(byte[] encrypted)
{
byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG");
return Decrypt(encrypted,key);
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-536616/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c#封裝DBHelper類C#封裝
- c# Lambda操作類封裝C#封裝
- 驗證碼 生成 二三例(一般處理程式,封裝一個類)封裝
- 將建立程式的API-posix_spawn封裝成一個程式類API封裝
- 一個最簡單的類JQuery封裝jQuery封裝
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- C# MD5 加密,解密C#加密解密
- Asp.net 加密解密類ASP.NET加密解密
- 程式碼改變世界 | 如何封裝一個簡單的 Koa封裝
- PHP封裝的一個單例模式Mysql操作類PHP封裝單例模式MySql
- 一個聚合的加解密工具類解密
- 初探資料庫通用程式碼庫的封裝(C#版)資料庫封裝C#
- 【JavaScript框架封裝】實現一個類似於JQuery的CSS樣式框架的封裝JavaScript框架封裝jQueryCSS
- C#開發中常用的加密解密方法C#加密解密
- 如何封裝一個自動歸、解檔類封裝
- Base64工具類(加密、解密)加密解密
- 基於C#實現-維吉尼亞密碼加密、解密C#密碼加密解密
- 一款實用的.NET Core加密解密工具類庫加密解密
- cocos2dx封裝一個具有Layout功能的Point類 (提供原始碼)封裝原始碼
- 序列密碼的加密與解密密碼加密解密
- 文字加密:常見的密碼加密解密方法加密密碼解密
- 使用C++/CLI呼叫C#封裝類庫C++C#封裝
- C# SQLite資料庫 訪問封裝類C#SQLite資料庫封裝
- ScaleHeight 的封裝程式碼封裝
- JAVA和C# 3DES加密解密JavaC#3D加密解密
- C#中base64之加密解密C#加密解密
- 封裝一個通用的PopupWindow封裝
- 加密和解密的另個應用加密解密
- 基於MongoDb官方C#驅動封裝MongoDbCsharpHelper類(CRUD類)MongoDBC#封裝CSharp
- 封裝我們的VBA程式碼封裝
- C#開發中常用加密解密方法解析C#加密解密
- javascript base64加密和解密例項程式碼JavaScript加密解密
- Base64加密解密原理以及程式碼實現加密解密
- 【菜鳥學Java】3:封裝一個分頁類PageBeanJava封裝Bean
- 一個簡單的解密程式 (轉)解密
- java輔助開發的兩個封裝類Java封裝
- php的curl封裝類PHP封裝
- 封裝一個自己的js庫封裝JS