此代码旨在计算和打印我桌面上文件的 MD5 哈希值。但是,在编译时,写入控制台窗口的所有内容都是“System.Byte[]”,放置 ToString() 也没有解决问题。
MD5 a = MD5.Create();
Console.Write(a.ComputeHash(File.OpenRead(@"C:\Users\TTDDWW\Desktop\putty.exe")));
Console.ReadKey();
最佳答案
您可以使用 BitConverter
从 byte[]
数组中创建一个十六进制字符串:
MD5 a = MD5.Create();
byte[] hash = a.ComputeHash(File.OpenRead(@"C:\Users\TTDDWW\Desktop\putty.exe"));
string hexString = BitConverter.ToString(hash).Replace("-", string.Empty).ToLower();
Console.Write(hexString);
BitConverter.ToString()
为您提供 AA-AA-AA-AA
形式的表示,因此您必须删除连字符并使字符串小写才能获得常见的 MD5 十六进制字符串。
关于c# - 返回 "System.Byte[]"而不是实际数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106426/