" System.Byte []"正在返回而不是实际数据

时间:2016-05-09 00:51:52

标签: c#

此代码用于计算和打印桌面上文件的MD5哈希值。但是,在编译时,所有写入控制台窗口的内容都是" System.Byte []"放置ToString()也没有解决问题。

MD5 a = MD5.Create();
Console.Write(a.ComputeHash(File.OpenRead(@"C:\Users\TTDDWW\Desktop\putty.exe")));
Console.ReadKey();

1 个答案:

答案 0 :(得分:4)

您可以使用BitConverterbyte[]数组中创建十六进制字符串:

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十六进制字符串。