tigersum
A command line hashing program based on the tiger algorithm
Compiling
Dependencies
In order to build this program you will need:
- cmake
- a D compiler (such as gdc)
Configuring & compiling
You can generate a makefile and build the program with the following commands:
cmake -DCMAKE_BUILD_TYPE=Release <path_to_tigersum_source>
make -j2
Customizations
Backend selection
By default tigersum will use the freetiger implementation as its backend. If you choose to use the reference implementation instead, you can pass -DREFERENCE_TIGER=on on the command line to cmake:
cmake -DCMAKE_BUILD_TYPE=Release -DREFERENCE_TIGER=on <path_to_tigersum_source>
make -j2
Read buffer size
If you wish to do so you can fine-tune the size for the buffer that will be used to calculate the tiger hash. By default the buffer is 16KiB, but you can change that number by altering the value near the line
set(READ_BUFF_SIZE "1024 * 16")
in the CMakeLists.txt file. Note that for technical reasons the code enforces that number to be a multiple of 64. You can't chose a value smaller than 64. Please take all this into account if you change that value (you shouldn't need to).
Change the default tiger version
By default tigersum will calculate the tiger v1 hash of the data you feed in. You can select verion 1 or 2 at runtime using the --tiger parameter (see "Usage"). If you want v2 to be the default instead, you can change the line in src/CMakeLists.txt:
set(DEFAULT_TIGER_VERSION "1")
Changing 1 to 2 will set v2 as the default. You can still use the --tiger parameter at runtime as normal.
Usage
For usage please see the program's help by passing the --help or -h switch. In general the program should behave like md5sum and sha1sum. One exception is that you can use the --tiger or -i parameter to set the version of the algorithm you want to use. Pass --tiger 1 for version 1 (default), or --tiger 2 for version 2.
State of current version
Most of the switches exposed by md5sum/sha1sum also work with tigersum. Some switches are still work in progress:
- --quiet
- --status
- --warn
Currently there is also no support for reading data from stdin, which means you can't pipe other commands to tigersum. This will be implemented soon.