前程无忧北京,阿拉斯加犬跟哈士奇,英国达人秀街舞
public class trialhelper { //默认密钥向量 private static byte[] keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef }; /// <summary> /// des加密字符串 /// </summary> /// <param name="encryptstring">待加密的字符串</param> /// <param name="encryptkey">加密密钥,要求为8位</param> /// <returns>加密成功返回加密后的字符串,失败返回源串</returns> public static string encryptdes( string encryptstring, string encryptkey = "" ) { try { if (string.isnullorempty(encryptkey) || encryptkey.length < 8) { encryptkey = "winform01"; } byte[] rgbkey = encoding.utf8.getbytes(encryptkey.substring(0, 8)); byte[] rgbiv = keys; 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(); return convert.tobase64string(mstream.toarray()); } catch { return encryptstring; } } /// <summary> /// des解密字符串 /// </summary> /// <param name="decryptstring">待解密的字符串</param> /// <param name="decryptkey">解密密钥,要求为8位,和加密密钥相同</param> /// <returns>解密成功返回解密后的字符串,失败返源串</returns> public static string decryptdes( string decryptstring, string decryptkey = "" ) { try { if (string.isnullorempty(decryptkey) || decryptkey.length < 8) { decryptkey = "winform01"; } byte[] rgbkey = encoding.utf8.getbytes(decryptkey.substring(0, 8)); byte[] rgbiv = keys; 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(); return encoding.utf8.getstring(mstream.toarray()); } catch { return decryptstring; } } /// <summary> /// md5数据加密 /// </summary> /// <param name="sdatain">加密字段</param> /// <returns>加密后的字符串</returns> public static string getmd5( string sdatain ) { system.security.cryptography.md5cryptoserviceprovider md5 = new system.security.cryptography.md5cryptoserviceprovider(); byte[] bytvalue, bythash; bytvalue = system.text.encoding.utf8.getbytes(sdatain); bythash = md5.computehash(bytvalue); md5.clear(); string stemp = ""; for (int i = 0; i < bythash.length; i++) { stemp += bythash[i].tostring("x").padleft(2, '0'); } return stemp; } }
调用:
//获取登录信息 loginrecord.name = tbname.text.trim(); loginrecord.md5pwd = trialhelper.getmd5(tbpwd.password); //保存到数据库md5加密方式 loginrecord.pwd = trialhelper.encryptdes(tbpwd.password);//记住密码des加密方式,保存到本地
以上所述是小编给大家介绍的asp.net中des加密与解密md5加密帮助类,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论