/// <summary> /// MD5加密 /// </summary> /// <param name="input">需要加密的參數</param> /// <returns>返回16位小寫字符串</returns> public static string GetMd5Hash(String input) { if (input == null) { return null; } MD5 md5Hash = MD5.Create(); // 將輸入字符串轉換為字節數組並計算哈希數據 byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)); // 創建一個 Stringbuilder 來收集字節並創建字符串 StringBuilder sBuilder = new StringBuilder(); // 循環遍歷哈希數據的每一個字節並格式化為十六進制字符串 for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } // 返回十六進制字符串 return sBuilder.ToString(); } /// <summary> /// MD5加密 /// </summary> /// <param name="inputString"></param> /// <returns>返回32位字符串</returns> static string StringToMD5Hash(string inputString) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < encryptedBytes.Length; i++) { sb.AppendFormat("{0:x2}", encryptedBytes[i]); } return sb.ToString(); }