在我的应用程序中,我将文件分成几部分,并计算写入txt文件的每个部分的哈希值。在我想在这一点上合并这些部分之后,我只想使用这些哈希值来获取部分,是否可能?所以我怎么能这样做?
答案 0 :(得分:0)
如果哈希是好的,一般情况下是不可能的;哈希函数被设计为一种方式。 我想你将不得不迭代部件所在的目录,并重新计算每个部件的哈希值。
答案 1 :(得分:0)
全部取决于您使用的散列函数。如果这是sha1,md5sum或不可逆的antyhing,则需要创建一个单独的“map”文件,该文件将包含散列和相应的数据。 现在,拥有这样的地图,您可以读取包含哈希值的文件,并将这些哈希值替换为从地图文件中读取的相应数据。
散列的和分割功能:
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 ]) ;
}