在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进制字符串输出。