gpt4 book ai didi

c# - SHA256 计算的哈希值似乎有问题

转载 作者:行者123 更新时间:2023-12-02 01:57:29 24 4
gpt4 key购买 nike

我有以下类,它计算我想要发送到服务器的文件的哈希值。

public class GetHashCode 
{
public static string CalculateHash()
{
try
{
var filePath = "\\\\abc\\abc-fs\\_My-Data\\user\\Documents\\test.jpg";
var fileStream = File.Open(filePath, FileMode.Open,
FileAccess.Read, FileShare.ReadWrite);
var hashProvider = SHA256.Create();
var buffer = hashProvider.ComputeHash(fileStream);
return Convert.ToBase64String(buffer);
}
catch (Exception err)
{
Console.WriteLine(err);
return null;
}
}
}

当我通过另一个应用程序将文件发送到服务器时,我可以看到此操作的哈希与我使用上面的代码创建的哈希有点不同:

来自其他应用程序的哈希值(正确的):

R7av4w6Ow3M3z%252bpKPBBpojzvLvyl6aM0Q7q%252bJ%252fDvLPQ%253d

用我的代码生成的哈希:

R7av4w6Ow3M3z+pKPBBpojzvLvyl6aM0Q7q+J/DvLPQ=

所以特殊字符的编码似乎有问题,但我还不知道如何解决这个问题。有人可以帮忙吗?提前致谢!

最佳答案

你的哈希值没问题。

另一个应用程序的哈希似乎是 URL 编码...两次!应用 URL 解码(例如使用 WebUtility.UrlDecode)两次似乎可以解决该问题。

R7av4w6Ow3M3z%252bpKPBBpojzvLvyl6aM0Q7q%252bJ%252fDvLPQ%253d

-> URLDecode

R7av4w6Ow3M3z%2bpKPBBpojzvLvyl6aM0Q7q%2bJ%2fDvLPQ%3d

-> URLDecode

R7av4w6Ow3M3z+pKPBBpojzvLvyl6aM0Q7q+J/DvLPQ=

关于c# - SHA256 计算的哈希值似乎有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69453047/

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