以下是使用C#編寫的與MessageDigest等效的代碼:
using System.Security.Cryptography;
using System.Text;
public class MessageDigest
{
public static string GetSHA1(string input)
{
using (SHA1Managed sha1 = new SHA1Managed())
{
byte[] bytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = sha1.ComputeHash(bytes);
return ConvertToHex(hashBytes);
}
}
public static string GetMD5(string input)
{
using (MD5 md5 = MD5.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(bytes);
return ConvertToHex(hashBytes);
}
}
private static string ConvertToHex(byte[] bytes)
{
StringBuilder hexBuilder = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
{
hexBuilder.Append(bytes[i].ToString("x2"));
}
return hexBuilder.ToString();
}
}
可以使用MessageDigest.GetSHA1(input)
方法來獲取輸入字符串的SHA-1哈希值,使用MessageDigest.GetMD5(input)
方法來獲取輸入字符串的MD5哈希值。
示例用法:
string input = "Hello World";
string sha1Hash = MessageDigest.GetSHA1(input);
string md5Hash = MessageDigest.GetMD5(input);
Console.WriteLine("SHA-1 Hash: " + sha1Hash);
Console.WriteLine("MD5 Hash: " + md5Hash);
輸出:
SHA-1 Hash: 0a4d55a8d778e5022fab701977c5d840bbc486d0
MD5 Hash: ed076287532e86365e841e92bfc50d8c