c# - 返回 "System.Byte[]"而不是实际数据

标签 c#

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

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

最佳答案

您可以使用 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 十六进制字符串。

关于c# - 返回 "System.Byte[]"而不是实际数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106426/

相关文章:

c# - ASP.NET Core 使用依赖注入(inject)访问其他服务

c# - 使用C#构建的Android应用在真实设备上崩溃,但可在模拟器上运行

c# - 未知的网络方法。参数名称 : methodName

c# - 列表中的 StackoverflowException

c# - 为 OpenXML 文档中的新书签定义正确的 ID

c# - Infragistics UltraListView 自动滚动

c# - 我如何在 Ubuntu 中使用 Visual Studio Code 开发 Unity3D 项目

c# - 保存计时器高分

c# - 如何在 c# 中的 xamarin android 中识别 android 移动设备 uniqueid

c# 应用程序配置文件 : AppSettings Reads Empty?