C#中有許多常用的加密解密方法,其中包括MD5加密解密方法。下面是一個使用C#進行MD5加密解密的示例:
using System;
using System.Security.Cryptography;
using System.Text;
public class Program
{
public static void Main()
{
string originalText = "Hello World";
// MD5加密
string md5Hash = MD5Hash(originalText);
Console.WriteLine("MD5 Hash: " + md5Hash);
// MD5驗證
bool md5Verify = VerifyMD5Hash(originalText, md5Hash);
Console.WriteLine("MD5 Verify: " + md5Verify);
}
// 使用MD5加密字符串
public static string MD5Hash(string text)
{
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.ASCII.GetBytes(text);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
builder.Append(hashBytes[i].ToString("x2"));
}
return builder.ToString();
}
}
// 驗證MD5哈希值
public static bool VerifyMD5Hash(string text, string hash)
{
string hashOfText = MD5Hash(text);
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
return comparer.Compare(hashOfText, hash) == 0;
}
}
在上述示例中,MD5Hash
函數使用MD5算法對輸入字符串進行加密,并將結果轉換為16進制字符串形式返回。VerifyMD5Hash
函數用于驗證輸入字符串的MD5哈希值與給定的哈希值是否匹配。
注意:MD5是一種哈希算法,不可逆。因此,MD5加密的結果無法解密回原始的字符串。MD5通常用于驗證數據的完整性而不是加密敏感信息。