C# 中的 SHA1 形式 .exe 文件

发布于 2024-09-05 07:39:47 字数 271 浏览 5 评论 0原文

我希望有人可以帮助我读取 C# 中的 exe 文件并从中创建 SHA1 哈希值。我尝试使用 StreamReader 和 BinaryReader 读取可执行文件。然后,我尝试使用内置 SHA1 算法创建哈希,但没有成功。 StreamReader 的算法结果为“AEUj+Ppo5QdHoeboidah3P65N3s=”,BinaryReader 的算法结果为“rWXzn/CoLLPBWqMCE4qcE3XmUKw=”。谁能帮我从 exe 文件中获取 SHA1 哈希值?谢谢。

顺便说一句,对不起我的英语;)

I hope that someone could help me with reading exe files in C# and create a SHA1 hash from it. I have tried to read from executable file using StreamReader and BinaryReader. Then using built-in SHA1 algorithm I tried to create a hash but without success. The algorithm results for StreamReader was "AEUj+Ppo5QdHoeboidah3P65N3s=" and for BinaryReader was "rWXzn/CoLLPBWqMCE4qcE3XmUKw=". Can anyone help me to acheive SHA1 hash from exe file? Thx.

BTW Sorry for my English ;)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

胡渣熟男 2024-09-12 07:39:47

不要使用 StreamReader - 它将尝试将不透明的二进制数据转换为文本数据...exe 文件不是文本数据。

只需使用 FileStream 并调用 ComputeHash

byte[] hash;
using (Stream stream = File.OpenRead(filename))
{
    hash = SHA1.Create().ComputeHash(stream);
}
string base64Hash = Convert.ToBase64String(hash);

Don't use a StreamReader - that will try to convert the opaque binary data into text data... an exe file is not text data.

Just use a FileStream and call ComputeHash:

byte[] hash;
using (Stream stream = File.OpenRead(filename))
{
    hash = SHA1.Create().ComputeHash(stream);
}
string base64Hash = Convert.ToBase64String(hash);
陪你到最终 2024-09-12 07:39:47

StreamReader 实现了 TextReader,所以我们不在二进制世界中:-)

StreamReader implements TextReader so we are not in a binary world :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文