【发布时间】:2018-07-21 03:24:08
【问题描述】:
运行 python 2.7 并尝试将两个不同文件的哈希计算为变量,以便我可以在布尔循环中进行比较和使用。首先,我在 file1 中生成内容,然后将 file1 复制到 file2 并针对 file1 和 file2 运行,我使用 python hashlib 获得不同的哈希值,但是针对两个不同的文件名运行 powershell get-filehash 我得到相同的哈希值(因为我预期)。
file1和file2没有内容区别,只是用内容创建file1并复制到file2。
import sys
import hashlib
goldresulthashVar = None
testresulthashVar = None
def sha256hashcheck1():
with open( 'goldresult.txt' ,"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)
goldresulthashVar = sha256_hash.hexdigest()
print goldresulthashVar
def sha256hashcheck2():
with open( 'test.txt' ,"rb") as f2:
# Read and update hash string value in blocks of 4K
for byte_block in iter(lambda: f2.read(4096),b""):
sha256_hash.update(byte_block)
testresulthashVar = sha256_hash.hexdigest()
print testresulthashVar
sha256hashcheck1()
sha256hashcheck2()
有什么指点或建议吗?
【问题讨论】:
-
这是什么
sha256_hash?如果您连续调用update(a)和update(b),您只需执行update(a+b)docs.python.org/3/library/hashlib.html#hashlib.hash.update。试试hashlib.sha256(byte_block).hexdigest() -
对不起 - 当我粘贴我的脚本时错过了一个 var 声明,同时也在执行: sha256_hash = hashlib.sha256() 作为脚本开头的声明 var ...现在阅读你的 hashlib 引用, ty
标签: python python-2.7