gpt4 book ai didi

c# - 如何获取当前 .exe 的哈希值?

转载 作者:可可西里 更新时间:2023-11-01 13:59:10 24 4
gpt4 key购买 nike

[已解决]:我复制了文件并在该副本上运行了哈希程序。

我需要我的应用找到 EXE 的当前 MD5。我可以获得任何文件的 MD5。但是,无论我做什么,我都无法让 FileStream 读取打开的 EXE。我尝试使用 FileOptions.Asynchronous,但没有帮助。

编辑:我想我不是很清楚。我希望我的应用能够自行读取。

编辑代码:

private void GetMd5()
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

FileInfo fi = new FileInfo(Process.GetCurrentProcess().MainModule.FileName);
FileStream stream = File.Create(Process.GetCurrentProcess().MainModule.FileName, (int)fi.Length, FileOptions.Asynchronous);

md5.ComputeHash(stream);

stream.Close();

string rtrn = "";
for (int i = 0; i < md5.Hash.Length; i++)
{
rtrn += (md5.Hash[i].ToString("x2"));
}
MessageBox.Show(rtrn.ToUpper());
}

最佳答案

File.Create Method (String, Int32, FileOptions, FileSecurity) :

Creates or overwrites the specified file with the specified buffer size, file options, and file security.

我很确定这不是您打算做的。大概你想要 FileInfo.Open Method (FileMode, FileAccess) :

FileInfo fi = new FileInfo(path); 
FileStream stream = File.Open(path, FileMode.Open);

关于c# - 如何获取当前 .exe 的哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com