阅读量:1
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通常用于验证数据的完整性而不是加密敏感信息。