Skip to content

Tool for building unique file signature from hashes of fixed-length blocks

Notifications You must be signed in to change notification settings

N-Nagorny/FileSignatureMaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileSignatureMaker

Introduction

When one's trying to check integrity of many large files with MD5 or almost any other hash algorithm, they face the fact that hashing is a linear process where its state depends on all previous input so it cannot be parallelised. But it's possible to split each file into small blocks, concatenate hashes for them and get so called file signature for using it as an identity criterion.

Build procedure

The project uses CMake as a build tool and proposes two ways of acquiring dependencies:

The dependencies are OpenSSL and Boost.Interprocess.

Here is an example of build procedure for Windows:

mkdir build
cd build
cmake ..
cmake --build . --config Release

For Linux:

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE:STRING="Release"
cmake --build .

Linux

The best way to reproduce my environment fast is to install nix and execute nix-shell in the root directory. In this case it's recommended to set USE_CONAN CMake configuration option to OFF.

Testing procedure

Testing was conducted on Linux. Windows has been used for general working check.

I've been used vmtouch to check whether an input file is in file system cache.

I left tests/ directory though it is not a part of the program. It contains dirty-hand ad-hoc tools which I used to check that the program calculates MD5 correctly.

About

Tool for building unique file signature from hashes of fixed-length blocks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published