Asp.net 加密解密类

首先导入命名空间
using System.Web.Security;
using System.Security.Cryptography;
using System.Text;using System.IO;
///
/// EncryptHelper 来自 www.Admin10000.com
///
public class EncryptHelper
{
// 提供8个字符作为DES密钥(程序自动截取前8个字符)
private static string key = "admin10000.com";


///
/// DES对称加密解密的密钥
///
public static string Key
{
get
{
return key;
}
set
{
key = value;
}
}


///
/// MD5 加密(不可逆加密)
///
/// 要加密的原始字串
///
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;


}


///
/// SHA1 加密(不可逆加密)
///
/// 要加密的原始字串
///
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;


}


///
/// DES加密字符串
///
/// 待加密的字符串
/// 加密成功返回加密后的字符串,失败返回源串
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;
}
}


///
/// DES解密字符串
///
/// 待解密的字符串
/// 解密成功返回解密后的字符串,失败返源串
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;
}
}


///
/// 将普通字符串编码为BASE64字串
///
/// 源字符串
///
public static string Base64Encode(string str)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
}


///
/// 解码BASE64字串
///
/// Base64字串
///
public static string Base64Decode(string base64Str)
{
return Encoding.UTF8.GetString(Convert.FromBase64String(base64Str));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值