這篇文章主要介紹在ASP.NET中如何實(shí)現(xiàn)DES加密與解密MD5加密功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
目前創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、清流網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
public class TrialHelper { //默認(rèn)密鑰向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; ////// DES加密字符串 /// /// 待加密的字符串 /// 加密密鑰,要求為8位 ///加密成功返回加密后的字符串,失敗返回源串 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; } } ////// DES解密字符串 /// /// 待解密的字符串 /// 解密密鑰,要求為8位,和加密密鑰相同 ///解密成功返回解密后的字符串,失敗返源串 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; } } ////// MD5數(shù)據(jù)加密 /// /// 加密字段 ///加密后的字符串 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; } }
調(diào)用:
//獲取登錄信息 loginRecord.Name = tbName.Text.Trim(); loginRecord.MD5Pwd = TrialHelper.GetMD5(tbPwd.Password); //保存到數(shù)據(jù)庫MD5加密方式 loginRecord.Pwd = TrialHelper.EncryptDES(tbPwd.Password);//記住密碼des加密方式,保存到本地
以上是在ASP.NET中如何實(shí)現(xiàn)DES加密與解密MD5加密功能的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!