md5Object.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; namespace MD5_Project { public class md5Object { //static void Main(string[] args) //{ // md5Object md5obj = new md5Object(); // //16位md5加密(或32位) // Console.WriteLine(md5obj.md5("123456", 16)); //} /// <summary> /// MD5加密 /// </summary> /// <param name="text"></param> /// <returns></returns> private string MD5(string text) { string str = ""; MD5 md5 = new MD5CryptoServiceProvider(); byte[] textBytes = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(text)); foreach (int i in textBytes) { str += i.ToString("x2"); } return str; } public string md5(string str, int code) { if (code == 16) //16位MD5加密(取32位加密的9~25字符) { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16); } if (code == 32) //32位加密 { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower(); } return "00000000000000000000000000000000"; } } }
Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MD5_Project; using System.Diagnostics; namespace Project_md5 { class Program { static void Main(string[] args) { md5Object md5obj = new md5Object(); //16位md5加密(或32位) Debug.WriteLine(md5obj.md5("123456", 16)); Console.WriteLine(md5obj.md5("123456", 16)); Console.ReadLine(); } } }