首页 > 代码库 > md5类
md5类
using System;using System.Security.Cryptography;using System.Text;namespace MD5Sample{ class Program { static void Main(string[] args) { string source = "Hello World!"; using (MD5 md5Hash = MD5.Create()) { string hash = GetMd5Hash(md5Hash, source); Console.WriteLine("The MD5 hash of " + source + " is: " + hash + "."); Console.WriteLine("Verifying the hash..."); if (VerifyMd5Hash(md5Hash, source, hash)) { Console.WriteLine("The hashes are the same."); } else { Console.WriteLine("The hashes are not same."); } } Console.ReadLine(); } static string GetMd5Hash(MD5 md5Hash, string input) { // Convert the input string to a byte array and compute the hash. byte[] data =http://www.mamicode.com/ md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); // Create a new Stringbuilder to collect the bytes // and create a string. StringBuilder sBuilder = new StringBuilder(); // Loop through each byte of the hashed data // and format each one as a hexadecimal string. for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } // Return the hexadecimal string. return sBuilder.ToString(); } // Verify a hash against a string. static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash) { // Hash the input. string hashOfInput = GetMd5Hash(md5Hash, input); // Create a StringComparer an compare the hashes. StringComparer comparer = StringComparer.OrdinalIgnoreCase; if (0 == comparer.Compare(hashOfInput, hash)) { return true; } else { return false; } } }}// This code example produces the following output://// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.// Verifying the hash...// The hashes are the same./*System.Security.Cryptographypublic abstract class MD5 : HashAlgorithmpublic static MD5 Create()Create()创建 MD5 哈希算法的默认实现的实例。public byte[] ComputeHash(byte[] buffer)public virtual byte[] GetBytes(string s)Encoding.ASCII.GetBytes(inputString)用于以ASCII方式将一个字符串转换成一个字节数组, 原因是ComputeHash方法只接收Byte[]参数,后面的内容就是将加密后的Byte[]连成一个字符串, AppendFormat中的格式字符串{0:x2}是指将数组中每一个字符格式化为十六进制,精度为2 */
md5类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。