哈希是将可变长度的字节序列转换为固定长度的序列的功能。出于多种原因,散列文件可能是有利的。哈希可以用于检查两个文件是否相同,或验证文件的内容是否未损坏或更改。
您可以用来hashlib为文件生成哈希:
import hashlib hasher = hashlib.new('sha256') with open('myfile', 'r') as f: contents = f.read() hasher.update(contents) print hasher.hexdigest()
对于较大的文件,可以使用固定长度的缓冲区:
import hashlib SIZE = 65536 hasher = hashlib.new('sha256') with open('myfile', 'r') as f: buffer = f.read(SIZE) while len(buffer) > 0: hasher.update(buffer) buffer = f.read(SIZE) print(hasher.hexdigest())
问题内容: 我在Java中构建了一个文件哈希方法,该方法采用a的输入字符串表示形式,然后计算该文件的哈希值。哈希可以是任何本机支持的Java哈希算法,例如through 。 我试图找出每一个性能下降的原因,因为这种方法是我正在研究的项目不可或缺的一部分。建议我尝试使用而不是常规。 我原来的方法: 重构方法: 两者都返回正确的哈希,但是重构的方法似乎只在小文件上起作用。当我传入一个大文件时,它完全阻
我需要使用RSA方法给图片添加数字签名。为此,我首先需要用SHA256散列这个文件。但是如何做到这一点呢?按照我的理解,我应该得到一个字节hash[]的数组,里面有散列的字节。 例如在c#示例MD5中有这样一种方法:我像这样尝试过,但是我如何获得哈希数组以及如何更改最终哈希的大小?
python 作为一门计算机语言来说,Python会有下面的特点。 语言学习起来容易 解决生活中的实际问题 支持多学科 我们可以和其他不是脚本语言的语言进行一个简单的对比,如C,你需要去编译去运行,有时候还需要解决跨平台问题,本来你是在你的Windows上运行得好好的,但是有一天你换了一个Mac电脑的时候,问题变得很棘手,你甚至不知道怎么去解决问题。我没有用过MFC,听说很方便,但是在其他平台下就
问题内容: 可以散列吗? 例如,我知道元组的散列是可能的: 但是可以对a进行哈希处理吗? 可能的解决方案: 这里是对列表哈希的非常深入的解释。 问题答案: 就试一试吧: 所以,你可以得到的,并因为是不可变的,你不能做到这一点,并因为他们是可变的。
问题内容: 我有兴趣采用任意命令并将其复制到新命令中,然后进行更改。 我想做的一种变更是交换键和值。不幸的是,某些价值观本身就是命令。但是,这会生成“无法散列的类型:’dict’”错误。我真的不介意将值字符串化并提供它的密钥。但是,我希望能够执行以下操作: 有没有一种干净的方法可以执行此操作, 而不会 涉及捕获异常并为“ unhashable type”解析消息字符串? 问题答案: 从Python
问题内容: 我想显示一些观点。这是我的代码: 和我一样: 所以我有两种不同颜色的点。但是我也想有两个不同的标记。我该怎么做?给出一个错误。 问题答案: 每个标记可以使用一个散点图。