国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.NET MD5加密解密代碼解析

2024-07-10 12:49:19
字體:
來源:轉載
供稿:網友

MD5簡介:

  是讓大容量信息在用數字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的大整數)。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息并產生一個128位的信息摘要。雖然這些算法的結構或多或少有些相似,但MD2的設計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設計優化的,而MD4和MD5卻是面向32位的電腦。這三個算法的描述和C語言源代碼在Internet RFCs 1321中有詳細的描述,這是一份最權威的文檔,由Ronald L. Rivest在1992年8月向IETF提交。

代碼:

string JiaMi = Md5Encrypt(LoginPwd);    string JieMi = Md5Decrypt(JiaMi);    #region MD5加密    /// <summary>       /// MD5加密       /// </summary>       /// <param name="strSource">需要加密的字符串</param>       /// <returns>MD5加密后的字符串</returns>       public static string Md5Encrypt(string strSource)    {      //把字符串放到byte數組中         byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);      //建立加密對象的密鑰和偏移量             byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定義偏移量         byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定義密鑰         //實例DES加密類         DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();      mobjCryptoService.Key = iv;      mobjCryptoService.IV = key;      ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();      //實例MemoryStream流加密密文件         System.IO.MemoryStream ms = new System.IO.MemoryStream();      CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);      cs.Write(bytIn, 0, bytIn.Length);      cs.FlushFinalBlock();      return System.Convert.ToBase64String(ms.ToArray());    }    #endregion    #region MD5解密    /// <summary>       /// MD5解密       /// </summary>       /// <param name="Source">需要解密的字符串</param>       /// <returns>MD5解密后的字符串</returns>       public static string Md5Decrypt(string Source)    {      //將解密字符串轉換成字節數組         byte[] bytIn = System.Convert.FromBase64String(Source);      //給出解密的密鑰和偏移量,密鑰和偏移量必須與加密時的密鑰和偏移量相同         byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定義偏移量         byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定義密鑰         DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();      mobjCryptoService.Key = iv;      mobjCryptoService.IV = key;      //實例流進行解密         System.IO.MemoryStream ms = new System.IO.MemoryStream(bytIn, 0, bytIn.Length);      ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor();      CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);      StreamReader strd = new StreamReader(cs, Encoding.Default);      return strd.ReadToEnd();    }    #endregion              
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永昌县| 平武县| 乐至县| 磐石市| 来凤县| 剑河县| 松江区| 新余市| 饶平县| 明溪县| 衡山县| 惠州市| 新昌县| 乾安县| 弋阳县| 天祝| 九龙城区| 苗栗县| 广德县| 望奎县| 潜山县| 日照市| 诏安县| 巫山县| 绥江县| 华安县| 德保县| 腾冲县| 朝阳区| 宝应县| 抚顺县| 拉萨市| 道真| 镶黄旗| 长沙县| 绥江县| 青海省| 托里县| 云霄县| 唐山市| 潼南县|