c# 以16进制让程序能够从键盘输入任意字符串,计算并在屏幕上输出该字符串的哈希值
时间: 2023-08-22 14:07:49 浏览: 150
可以使用C#自带的SHA256哈希算法来计算任意字符串的哈希值,以下是一个例子:
```csharp
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入要计算哈希值的字符串:");
string input = Console.ReadLine();
byte[] bytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes;
using (SHA256 sha256 = SHA256.Create())
{
hashBytes = sha256.ComputeHash(bytes);
}
Console.Write("哈希值为:");
foreach (byte b in hashBytes)
{
Console.Write(b.ToString("x2"));
}
}
}
```
以上代码中,先从键盘读入任意字符串,然后使用UTF-8编码将其转换成字节数组。接着创建一个SHA256哈希算法实例,调用其`ComputeHash`方法计算哈希值,并将结果输出到屏幕上。其中输出哈希值时使用`x2`格式化字符串,表示以16进制输出每个字节的值,不足2位时前面补0。
阅读全文