以下是使用C#编写的与MessageDigest等效的代码:
```csharp
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哈希值。
示例用法:
```csharp
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
```