Asp.net 加密解密類
這裡給大家一個現成的C#加密解密類,由 admin10000.com 提供,包含MD5、SHA1、DES加密和解密,Base64編碼解碼。
首先匯入名稱空間
using System.Web.Security; using System.Security.Cryptography; using System.Text; using System.IO;
/// <summary>
/// EncryptHelper 來自 www.Admin10000.com
/// </summary>
public class EncryptHelper
{
// 提供8個字元作為DES金鑰(程式自動擷取前8個字元)
private static string key = "admin10000.com";
/// <summary>
/// DES對稱加密解密的金鑰
/// </summary>
public static string Key
{
get
{
return key;
}
set
{
key = value;
}
}
/// <summary>
/// MD5 加密(不可逆加密)
/// </summary>
/// <param name="pass">要加密的原始字串</param>
/// <returns></returns>
public static string MD5Encrypt(string pass)
{
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
md5.Clear();
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult;
/* 另一種方法
pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");
return pass;
*/
}
/// <summary>
/// SHA1 加密(不可逆加密)
/// </summary>
/// <param name="pass">要加密的原始字串</param>
/// <returns></returns>
public static string SHA1Encrypt(string pass)
{
System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
byte[] bytResult = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
sha1.Clear();
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult;
/* 另一種方法
pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "SHA1");
return pass;
*/
}
/// <summary>
/// DES加密字串
/// </summary>
/// <param name="encryptString">待加密的字串</param>
/// <returns>加密成功返回加密後的字串,失敗返回源串</returns>
public static string DESEncrypt(string encryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] rgbIV = rgbKey;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
cStream.Close();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}
/// <summary>
/// DES解密字串
/// </summary>
/// <param name="decryptString">待解密的字串</param>
/// <returns>解密成功返回解密後的字串,失敗返源串</returns>
public static string DESDecrypt(string decryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] rgbIV = rgbKey;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
cStream.Close();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}
/// <summary>
/// 將普通字串編碼為BASE64字串
/// </summary>
/// <param name="str">源字串</param>
/// <returns></returns>
public static string Base64Encode(string str)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
}
/// <summary>
/// 解碼BASE64字串
/// </summary>
/// <param name="str">Base64字串</param>
/// <returns></returns>
public static string Base64Decode(string base64Str)
{
return Encoding.UTF8.GetString(Convert.FromBase64String(base64Str));
}
}
/// EncryptHelper 來自 www.Admin10000.com
/// </summary>
public class EncryptHelper
{
// 提供8個字元作為DES金鑰(程式自動擷取前8個字元)
private static string key = "admin10000.com";
/// <summary>
/// DES對稱加密解密的金鑰
/// </summary>
public static string Key
{
get
{
return key;
}
set
{
key = value;
}
}
/// <summary>
/// MD5 加密(不可逆加密)
/// </summary>
/// <param name="pass">要加密的原始字串</param>
/// <returns></returns>
public static string MD5Encrypt(string pass)
{
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
md5.Clear();
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult;
/* 另一種方法
pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");
return pass;
*/
}
/// <summary>
/// SHA1 加密(不可逆加密)
/// </summary>
/// <param name="pass">要加密的原始字串</param>
/// <returns></returns>
public static string SHA1Encrypt(string pass)
{
System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
byte[] bytResult = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
sha1.Clear();
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult;
/* 另一種方法
pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "SHA1");
return pass;
*/
}
/// <summary>
/// DES加密字串
/// </summary>
/// <param name="encryptString">待加密的字串</param>
/// <returns>加密成功返回加密後的字串,失敗返回源串</returns>
public static string DESEncrypt(string encryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] rgbIV = rgbKey;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
cStream.Close();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}
/// <summary>
/// DES解密字串
/// </summary>
/// <param name="decryptString">待解密的字串</param>
/// <returns>解密成功返回解密後的字串,失敗返源串</returns>
public static string DESDecrypt(string decryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] rgbIV = rgbKey;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
cStream.Close();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}
/// <summary>
/// 將普通字串編碼為BASE64字串
/// </summary>
/// <param name="str">源字串</param>
/// <returns></returns>
public static string Base64Encode(string str)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
}
/// <summary>
/// 解碼BASE64字串
/// </summary>
/// <param name="str">Base64字串</param>
/// <returns></returns>
public static string Base64Decode(string base64Str)
{
return Encoding.UTF8.GetString(Convert.FromBase64String(base64Str));
}
}
相關文章
- Asp.Net 加密解密ASP.NET加密解密
- Base64工具類(加密、解密)加密解密
- asp.net中URL引數加密解密過程ASP.NET加密解密
- 加密解密加密解密
- PHP加密解密PHP加密解密
- js加密解密JS加密解密
- Unity 加密解密Unity加密解密
- Java加密解密Java加密解密
- Oracle ----加密解密Oracle加密解密
- AES 加密&解密加密解密
- AES加密解密加密解密
- PHP和.NET通用的加密解密函式類,均使用3DES加解密PHP加密解密函式3D
- 一個C#封裝的加密解密類程式碼C#封裝加密解密
- php mcrypt 加密 解密PHP加密解密
- RSA加密與解密加密解密
- AES CBC 加密解密加密解密
- Javascript 加密解密方法JavaScript加密解密
- iOS中加密、解密iOS加密解密
- MySQL加密和解密MySql加密解密
- 線上加密/解密工具加密解密
- 一款實用的.NET Core加密解密工具類庫加密解密
- 基於正則的INI讀寫工具類,支援加密解密加密解密
- Java加密解密瞭解Java加密解密
- 影像的加密與解密加密解密
- md5加密解密加密解密
- UrlBase64加密解密加密解密
- SQL Server 加密解密策略SQLServer加密解密
- php rsa長文加密解密PHP加密解密
- utf8 加密與解密加密解密
- PHP Base64 加密 & 解密PHP加密解密
- golang AES-CBC 加密解密Golang加密解密
- android加密解密完美教程Android加密解密
- RSA 非對稱加密&解密加密解密
- golang securecookie加密解密cookie值GolangCookie加密解密
- C#DES加密和解密C#加密解密
- iOS加密解密演算法iOS加密解密演算法
- Java中的加密與解密Java加密解密
- php和.net 的加密解密PHP加密解密