一、.Net Core中Md5使用說明
.Net Core中自帶Md5加密處理,使用方法和 .Net Framework中相同
所在命名空間
using System.Security.Cryptography;
二、使用MD5 類
方式1.
//32位大寫 using (var md5 = MD5.Create()) { var result = md5.ComputeHash(Encoding.UTF8.GetBytes(inputValue)); var strResult = BitConverter.ToString(result); string result3 = strResult.Replace("-", ""); Console.WriteLine(result3); }
方式2.
//32位大寫 using (var md5 = MD5.Create()) { var data = md5.ComputeHash(Encoding.UTF8.GetBytes(inputValue)); StringBuilder builder = new StringBuilder(); // 循環遍歷哈希數據的每一個字節並格式化為十六進制字符串 for (int i = 0; i < data.Length; i++) { builder.Append(data[i].ToString("X2")); } string result4 = builder.ToString(); Console.WriteLine(result4); }
三、使用MD5CryptoServiceProvider 類
/// <summary> /// MD5加密字符串(32位大寫) /// </summary> /// <param name="source">源字符串</param> /// <returns>加密后的字符串</returns> public static string MD5(string source) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] bytes = Encoding.UTF8.GetBytes(source); string result = BitConverter.ToString(md5.ComputeHash(bytes)); return result.Replace("-", ""); }
四、使用MD5 16位加密
在32位基礎上取中間16位:
//16位大寫 using (var md5 = MD5.Create()) { var data = md5.ComputeHash(Encoding.UTF8.GetBytes(inputValue)); StringBuilder builder = new StringBuilder(); // 循環遍歷哈希數據的每一個字節並格式化為十六進制字符串 for (int i = 0; i < data.Length; i++) { builder.Append(data[i].ToString("X2")); } string result4 = builder.ToString().Substring(8, 16); Console.WriteLine(result4); }
更多:
.Net Core HTML解析利器之HtmlAgilityPack