2012-06-27 66 views
1

我能夠爲整個文件生成SHA-1哈希。我通過以下C++代碼使用Open SSL來完成此操作。爲文件的塊生成SHA1哈希

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個的哈希值。我怎樣才能做到這一點?

回答

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); 
//...