提问人:Adrian Silicto 提问时间:11/15/2023 更新时间:11/15/2023 访问量:29
更改正在运行的应用程序的 MD5 哈希
Changing MD5 Hash of a running application
问:
嘿,所以我想在我的 winform 应用程序中实现一个按钮,该按钮将更改应用程序的 MD5 哈希值。除了一件事之外,我设法完成了所有事情,那就是,我怎样才能在自己的应用程序上做到这一点。因此,应用程序会更改自己的哈希值,然后自行关闭。到目前为止,我收到 SystemIO 异常,上面写着“它正在被另一个进程使用”,是的,我知道这一点,但有什么办法可以解决它吗?也许应用程序会自行关闭并更改自己的哈希值?
private void changeMD5(string fileNames)
{
Random random = new Random();
Thread.Sleep(1000);
for (int i = 0; i < fileNames.Length; i++)
{
int num = random.Next(2, 7);
byte[] extraByte = new byte[num];
for (int j = 0; j < num; j++)
{
extraByte[j] = (byte)0;
}
long fileSize = new FileInfo(fileNames).Length;
using (FileStream fileStream = new FileStream(fileNames, FileMode.Append))
{
fileStream.Write(extraByte, 0, extraByte.Length);
}
int bufferSize = fileSize > 1048576L ? 1048576 : 4096;
string md5hash = "";
using (MD5 md = MD5.Create())
{
using (FileStream fileStream2 = new FileStream(fileNames, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize))
{
md5hash = BitConverter.ToString(md.ComputeHash(fileStream2)).Replace("-", "");
}
}
}
}
这是我更改 MD5 哈希值的代码
答: 暂无答案
评论