我有一个文件,该文件已经为其计算了SHA256Sum并验证了它的正确性。
hash1 = computeSHA256(filepath)
我需要再次计算哈希,但是这次使用response.streaming_content
中的值,其中response是一个Django FileResponse对象,我已经完成了以下操作:
response = FileResponse(request, open(filepath, 'rb'), content_type='application/json')
content = b''.join(response.streaming_content)
h = hashlib.sha256()
h.update(str(content).encode('utf-8'))
hash2 = h.hexdigest()
这里的问题是hash1 != hash2
。例如:
hash1 = 7836496a8e17dac5aad5dea15409b06558d0feaf6c39198eae620afebb1fa097
hash2 = 70a3e07b20e722652740e93702b70322d042b9710b3087228e70551ad8301086
谁能看到我在哪里出错导致两个哈希值不相等?
注意:该文件是Google Protobuf(.pbf)文件,因此也是二进制文件。