在C#中使用MD5加密中文字符時,需要將中文字符先轉換為字節數組,然后再進行MD5加密。以下是一個示例代碼:
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main()
{
string input = "你好,世界!"; // 中文字符
byte[] inputBytes = Encoding.UTF8.GetBytes(input); // 將中文字符轉換為字節數組
using (MD5 md5 = MD5.Create())
{
byte[] hashBytes = md5.ComputeHash(inputBytes); // 計算MD5哈希值
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("x2")); // 將字節數組轉換為16進制字符串
}
string hash = sb.ToString();
Console.WriteLine("MD5加密結果:{0}", hash);
}
}
}
運行以上代碼,將輸出中文字符 “你好,世界!” 的MD5加密結果。在這個示例中,我們首先將中文字符轉換為UTF-8編碼的字節數組,然后通過 MD5.Create() 創建一個MD5實例,使用 ComputeHash() 方法計算哈希值,最后將哈希值轉換為16進制字符串輸出。