c# md5 加密解密
时间: 2024-09-11 08:12:46 浏览: 69
在C#中,MD5是一种哈希算法,常用于数据的加密和完整性校验,而不是直接的加密解密。MD5生成的是一个固定长度的128位(16字节)哈希值,而不是可逆的密文。
如果你想对字符串进行MD5加密,你可以使用`System.Security.Cryptography.MD5`类。这里是一个简单的示例:
```csharp
using System;
using System.Security.Cryptography;
public class MD5Example {
public static string HashString(string input) {
using (MD5 md5Hash = MD5.Create()) {
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5Hash.ComputeHash(inputBytes);
// 将字节数组转换为十六进制字符串
StringBuilder builder = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++) {
builder.Append(hashBytes[i].ToString("x2"));
}
return builder.ToString();
}
}
public static void Main() {
string originalString = "Hello, World!";
string hashedString = HashString(originalString);
Console.WriteLine($"Original String: {originalString}");
Console.WriteLine($"Hashed String: {hashedString}");
}
}
```
在这个例子中,`HashString`方法接受一个字符串,计算其MD5散列,并返回一个16进制表示的字符串。
要解密(或者说验证)一个MD5哈希值通常不是标准的做法,因为MD5是单向的,无法从哈希值反推原始数据。然而,如果你需要验证两个哈希值是否匹配,可以比较它们是否相等。
阅读全文