python - 使用 sha512 修复文件哈希
问题描述
我正在使用此代码对文件进行哈希处理,但是每次运行脚本时哈希都会更改...请问如何获得固定哈希?也许有一个随机种子,我不想要这个。
我只有一个文件夹中的文件列表,我需要每个文件的唯一且固定的哈希:
import sys
import os
import hashlib
# BUF_SIZE is totally arbitrary, change for your app!
BUF_SIZE = 65536 # lets read stuff in 64kb chunks!
files = [f for f in os.listdir('.') if os.path.isfile(f)]
sha512 = hashlib.sha512()
hashes = []
for file in files:
with open(file, 'rb') as f:
while True:
data = f.read(BUF_SIZE)
if not data:
break
sha512.update(data)
hashes.append(file+"|"+sha512.hexdigest())
with open("hash.txt", 'w+') as f:
for h in hashes:
f.write(h+'\n')
print(h)
输出是一个包含每个文件名和文件哈希的文件。每次我运行脚本时,所有文件哈希都必须相同(不是 rn)
解决方案
推荐阅读
- java - 将嵌套 JSON 表示为 neo4j (SDN) 中的节点
- python-asyncio - 无论任务是否等待,强制 asyncio 发出异常日志
- javascript - 检查学生是否在正确的班级,并且只显示在按下的班级中的学生
- gatsby - 盖茨比没有加载网站图标
- html - 如何覆盖 Angular 6 中另一个 html 文件中包含的常见 html(例如:header html 页面)文件的 css
- python - 如何使用 Keract 显示不同的 CNN 激活?
- python - ThreadPoolExecutor 完成后 Python 进程退出而没有警告或错误
- sql - 为什么我的 datediff 表达式的输出要返回括号中的天数?
- php - 相同的键需要两个数组索引 - PHP
- c# - 游戏视图中不显示子弹