如何解决将C#哈希函数转换为Python
我是新开发者。 我正在将C#库转换为Python(3.8)。我有得到的哈希函数 一个文件并找到其哈希码。
在原始的C#代码中,哈希函数返回字节[32]数组 但是在Python中,我得到了十六进制代码。我也在尝试找出如何在byte [32]中返回代码。
这是我的python代码:
sha256_hash = hashlib.sha256()
with open(logPath,"rb") as f:
# Read and update hash string value in blocks of 4K
for byte_block in iter(lambda: f.read(4096),b""):
sha256_hash.update(byte_block)
hash_code = sha256_hash.hexdigest()
这是C#代码:
using (var fileStream = fileInfo.Open(FileMode.Open))
{
fileStream.Position = position;
var sha256 = SHA256.Create();
hashValue = sha256.ComputeHash(fileStream);
fileStream.Close();
}
解决方法
您正在使用hash.hexdigest()
,它返回str
,如果要获取字节数组,应该使用hash.digest()
,它返回bytes
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。