MD5【加密以及解密】
生活随笔
收集整理的這篇文章主要介紹了
MD5【加密以及解密】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
using System; using System.Collections.Generic; using System.IO; using System.Security.Cryptography; using System.ServiceModel; using System.Text; namespace ConsoleTest {public class MD5解密{// 在此處添加更多操作并使用 [OperationContract] 標記它們#region MD5加密/// <summary> /// MD5加密 /// </summary> /// <param name="strSource">需要加密的字符串</param> /// <returns>MD5加密后的字符串</returns> [OperationContract]public 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();string strOut = System.Convert.ToBase64String(ms.ToArray());return strOut;}#endregion#region MD5解密/// <summary> /// MD5解密 /// </summary> /// <param name="Source">需要解密的字符串</param> /// <returns>MD5解密后的字符串</returns> [OperationContract]public 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 } }測試:
using System; using System.Security.Cryptography; namespace ConsoleTest {class Program{static void Main(string[] args){#region MD5解密MD5解密 m = new MD5解密();string md5jiami = m.Md5Encrypt("huaxiaoujia");Console.WriteLine("加密為:" + md5jiami); string md5ecode = m.Md5Decrypt(md5jiami);Console.WriteLine("解密為:"+ md5ecode);#endregion}} }輸出結果:

總結
以上是生活随笔為你收集整理的MD5【加密以及解密】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openwrt编译smartdns_老大
- 下一篇: java笔试完一般多久给通知_笔试之后多