您好,欢迎访问一九零五行业门户网

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)); } }
其它类似信息

推荐信息