在我的应用程序中,我将文件划分为多个部分并计算每个部分的哈希值写入 txt 文件。在我想合并这些部分之后,我只想使用这些哈希值来到达这些部分,这可能吗?所以这是我该怎么做?
问问题
37 次
2 回答
0
如果散列很好,一般来说是不可能的;哈希函数被设计为一种方式。我想您将不得不迭代零件所在的目录并重新计算每个零件的哈希值。
于 2013-09-18T08:13:57.363 回答
0
一切都取决于您使用的散列函数。如果这是不可逆的 sha1、md5sum 或 antyhing,那么您需要创建一个单独的“映射”文件,该文件将包含哈希和相应的数据。现在,有了这样的映射,您可以读取包含哈希的文件,并将这些哈希替换为从映射文件中读取的适当数据。
散列和除法函数:
while ( chunk = get_next_chunk())
{
hash = hashing_function( chunk ) ;
store( hash ) ;
if ( !map.find( hash ))
map[ hash ] = chunk ;
}
map.dump( mapfile ) ;
恢复:
map.load( mapfile ) ;
while ( hash = get_next_hash())
{
write( map[ hash ]) ;
}
于 2013-09-18T08:16:16.840 回答