问题标签 [hashlib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python data/file Crc
I am wanting to generate and store a CRC (or similar) value for a given list of files which can be used as a comparison at a later point. Writing a function to do this is simple enough, but is there a more standard way to do it within the Python libs?
The value generated does not need to be of any particular standard.
python - 在 Python 中获取大文件的 MD5 哈希
我使用了 hashlib(它在 Python 2.6/3.0 中替换了 md5),如果我打开一个文件并将其内容放入hashlib.md5()
函数中,它工作得很好。
问题在于非常大的文件,它们的大小可能超过 RAM 大小。
如何在不将整个文件加载到内存的情况下获取文件的 MD5 哈希?
python - python hashlib和sha512sum工具之间SHA512的区别
我从 linux 'sha512sum' 工具和 python hashlib 库中获得了不同的消息摘要。
这是我在 Ubuntu 8.10 上得到的:
两者都应该计算字符串“test”的消息摘要,为什么你认为我得到不同的结果?
python - 哈希库/md5. 与 python 2.4 的兼容性
python 2.6 报告 md5 模块已过时,应使用 hashlib。如果我import md5
改为import hashlib
我将解决 python 2.5 和 python 2.6,但不是 python 2.4,它没有 hashlib 模块(导致 ImportError,我可以捕获)。
现在,要修复它,我可以做一个 try/catch,并定义一个 getMd5() 函数,以便根据 try 块的结果定义一个正确的函数。这个解决方案好吗?
在更一般的情况下,您将如何解决此问题,例如:您有两个具有相同目标但界面不同的不同库,并且您想使用一个,但如果第一个不是,则退回并使用另一个成立。
python - 在 python 中为大文件创建校验和的最快方法
我需要通过网络传输大文件,并且需要每小时为它们创建校验和。所以生成校验和的速度对我来说至关重要。
不知何故,我无法让 zlib.crc32 和 zlib.adler32 在 Windows XP Pro 64 位机器上处理大于 4GB 的文件。我怀疑我在这里达到了 32 位限制?使用 hashlib.md5 我可以得到一个结果,但问题是速度。为 4.8GB 文件生成一个 md5 大约需要 5 分钟。任务管理器显示该进程仅使用一个核心。
我的问题是:
- 有没有办法让 crc 在大文件上工作?我更喜欢使用 crc 而不是 md5
- 如果没有,那么有没有办法加快 md5.hexdigest()/md5.digest?或者在这种情况下任何hashlib hexdigest/digest?也许将其拆分为多线程进程?我怎么做?
PS:我正在研究类似于“资产管理”系统的东西,有点像 svn,但资产由大型压缩图像文件组成。这些文件有微小的增量更改。检测更改和错误检测需要散列/校验和。
python - 持久化 hashlib 状态
我想创建一个hashlib
实例,update()
然后以某种方式保持其状态。稍后,我想使用这个状态数据重新创建对象,并继续update()
它。最后,我想获得hexdigest()
数据的总累积运行。状态持久性必须在多次运行中存活下来。
例子:
编辑:
在 2010 年,我没有找到使用 python 执行此操作的好方法,并最终用 C 编写了一个小型辅助应用程序来完成此操作。但是,下面有一些很好的答案,当时我不知道或不知道。
python - 使用不同版本的 sha 散列(hashlib 模块)是否存在重大开销
Python 模块提供以下hashlib
哈希算法构造函数:md5()
、sha1()
、sha224()
、sha256()
、sha384()
和sha512()
。
假设我不想使用 md5,那么使用 sha1 而不是 sha512 有很大的不同吗?我想使用类似的东西hashlib.shaXXX(hashString).hexdigest()
,但由于它只是用于缓存,我不确定我是否需要 512 的(最终)额外开销......
这种开销是否存在,如果存在,它有多大?
python - 它是这个 Python 脚本中的 MD5 摘要吗?
我试图理解前几天在 Stackoverflow 上给我的 Python 中这个简单的 hashlib 代码:
我认为这print m
会向我显示短语的 MD5 摘要:“没有人检查这里的垃圾邮件重复”,但结果我在本地主机上得到了这一行:
奇怪,当我刷新页面时,我得到了另一行:
每次刷新它时,我都会得到另一个值:
md5 哈希对象@017F8AE0
md5 哈希对象@01806220
md5 哈希对象@01806360
md5 哈希对象@01806400
md5 哈希对象@01806220
为什么会这样?我想,我在每一行流动“@”的内容并不是真正的摘要。那这是什么?以及如何在此代码中显示 MD5 摘要?
我的python版本是Python 2.5,我目前使用的框架是webapp(我已经从“Google App Engine”下载了它和SDK)
python - 对 Python 哈希的操作
我有一个相当奇怪的问题。对于分布式哈希表,我需要能够对 MD5 哈希进行一些简单的数学运算。这些包括总和(由哈希表示的数字总和)和模运算。现在我想知道实现这些操作的最佳方法是什么。我正在使用 hashlib 来计算哈希值,但是由于我得到的哈希值是字符串,我如何用它们计算?
python - 使用盐在 SHA512 中进行散列?- Python
我一直在查看 hashlib 文档,但没有发现任何关于在散列数据时使用盐的内容。
帮助会很棒。