Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否存在具有以下属性的哈希函数_Java_Python_C++_Hash_Persistence - Fatal编程技术网

Java 是否存在具有以下属性的哈希函数

Java 是否存在具有以下属性的哈希函数,java,python,c++,hash,persistence,Java,Python,C++,Hash,Persistence,我想要一个哈希函数,它是快速的,抗冲突的,并且可以提供唯一的输出。主要要求是-它应该是可持久的,即它的进度(散列进度)可以保存在文件中,然后再恢复。您还可以使用Python提供自己的实现 如果可以将“其他语言”的实现与Python一起使用,而不必进行内部操作,那么也可以接受“其他语言”的实现 提前感谢:)因为没有哈希函数可以生成唯一/防冲突的哈希。一个好的散列函数是抗冲突的,并且很难生成生成指定散列的文件。设计一个好的散列函数是一个高级主题,我当然不是这方面的专家。然而,由于我的代码是基于sha

我想要一个哈希函数,它是快速的,抗冲突的,并且可以提供唯一的输出。主要要求是-它应该是可持久的,即它的进度(散列进度)可以保存在文件中,然后再恢复。您还可以使用Python提供自己的实现

如果可以将“其他语言”的实现与Python一起使用,而不必进行内部操作,那么也可以接受“其他语言”的实现

提前感谢:)

因为没有哈希函数可以生成唯一/防冲突的哈希。一个好的散列函数是抗冲突的,并且很难生成生成指定散列的文件。设计一个好的散列函数是一个高级主题,我当然不是这方面的专家。然而,由于我的代码是基于sha256的,它应该是相当抗冲突的,并且希望生成一个生成指定哈希的文件也很困难,但是我不能保证这一点


这里有一个基于sha256的可恢复哈希函数,它相当快。在我的2GHz机器上用2GB内存散列1.4GB文件大约需要44秒

persistent_hash.py

#/usr/bin/env python
''使用SHA-256生成可恢复的哈希函数
文件被划分为固定大小的块,这些块被单独散列。
每个区块的散列组合成整个文件的散列。
哈希过程可能会被Control-C(SIGINT)或SIGTERM中断。
当接收到信号时,散列将继续进行,直到信号结束
当前块,然后保存文件位置和当前十六进制摘要
归档。此文件的名称是通过将“.hash”附加到
正在哈希的文件的名称。
只需重新运行程序即可恢复哈希。“.hash”文件将被删除
一旦散列完成。
2014年11月11日下午2点
'''
导入系统
导入操作系统
导入hashlib
输入信号
退出=错误

blocksize=1“独特”和“防碰撞”的确切含义是什么?@ErwinSmout亲爱的朋友,问题已更新。您现在可以撤消否决票。您可能在这个问题上获得了否决票,因为SO不是代码编写服务,而且您还没有提交任何自己的代码。@PM2Ring我没有要求为我编写代码。如果这样的功能已经存在,这是可以接受的。我询问downvoter的原因,这样我就可以在删除错误后更新我的问题。