相关疑难解决方法(0)

用于动态增长/流数据的哈希算法?

是否有任何算法可以从已知的哈希摘要中继续哈希?例如,客户端将一大块文件上传到ServerA,我可以得到md5上传内容的总和,然后客户端将剩余的文件块上传到ServerB,我可以将md5内部状态转移到ServerB并完成散列吗?

基于我多年前在comp.lang.python上发现的md5 有一个很酷的黑魔法黑客,但是它ctypes用于特定版本的md5.so或者_md5.dll,所以它不是用于不同python解释器版本或其他编程语言的可移植代码,除了md5模块自2.5以来在python标准库中已弃用,因此我需要找到更通用的解决方案.

更重要的是,散列的状态是否可以存储在十六进制摘要本身中?(因此,我可以继续使用现有的哈希摘要散列数据流,而不是内部黑客攻击.

任何想法都表示赞赏.提前致谢 :)

python hash md5 data-stream

7
推荐指数
1
解决办法
2410
查看次数

持久sha256哈希对象?

我需要一个Python/C/C++/Java实现,它可以暂停散列进度并将进度存储在文件中,以便在稍后阶段从该文件中恢复进度.

无论使用上面列出的语言编写,它都应该在Python中正常工作.建议您提供与"hashlib"配合使用的方法,但这不是必需的.此外,如果已经存在这样的事情,那么链接就足够了.

对于一个想法,您的实现应该实现什么.

import hashlib
import hashpersist #THIS IS NEEDED.

sha256 = hashlib.sha256("Hello ")
hashpersist.save_state(sha256, open('test_file', 'w'))

sha256_recovered = hashpersist.load_state(open('test_file', 'r'))
sha256_recovered.update("World")
print sha256_recovered.hexdigest()
Run Code Online (Sandbox Code Playgroud)

这应该提供与我们使用标准sha256函数对"Hello World"进行简单散列相同的输出.

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Run Code Online (Sandbox Code Playgroud)

c c++ python java hash

6
推荐指数
1
解决办法
997
查看次数

标签 统计

hash ×2

python ×2

c ×1

c++ ×1

data-stream ×1

java ×1

md5 ×1