国产探花免费观看_亚洲丰满少妇自慰呻吟_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              
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特右旗| 淳化县| 博罗县| 柘城县| 阳原县| 玉溪市| 敖汉旗| 花莲县| 和林格尔县| 景德镇市| 秀山| 沈阳市| 霸州市| 泰来县| 阿瓦提县| 盘山县| 常德市| 松桃| 外汇| 竹溪县| 化州市| 清河县| 南平市| 横山县| 深泽县| 芦溪县| 阜新| 文昌市| 济宁市| 托克托县| 陵水| 宁德市| 香河县| 河西区| 巨野县| 乐清市| 阳新县| 息烽县| 太白县| 香河县| 佛坪县|