我能够为整个文件生成SHA-1哈希。我是通过以下C ++代码使用Open SSL完成的。
file_buffer = mmap(0, file_size, PROT_READ, MAP_SHARED, file_name, 0);
SHA1((unsigned char*) file_buffer, file_size, hash_value);
但是我想为文件的较小块创建单独的哈希值。
考虑,
File Size = 10KB and
Chunk Size = 2KB
在这种情况下,我想为文件的每个块生成5个哈希值。我怎么能这样做?
答案 0 :(得分:2)
file_buffer = mmap(0, file_size, PROT_READ, MAP_SHARED, file_name, 0);
SHA1((unsigned char*) file_buffer, 2048, hash_value_1);
SHA1((unsigned char*) (file_buffer+2048), 2048, hash_value_2);
//...