2012-06-27 3 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); 
//...