Contents
ReHash is a free, open source console-based hash calculator.
You can disable hash algorithms selectively per command-line if you don't need or like them, you can choose if you want to use recursive directory scanning or not.
This tool is ideal for webmasters who wish to provide their users hash values of their (downloadable) files. The complete hashing process can be automated by using a shell/batch script. No additional user interaction is needed (i.e. the program won't ask for anything, it's just using the command-line).
ReHash is distributed under the terms of the GNU General Public License v2.
The current version of ReHash supports the following hash algorithms:
Algorithm |
Standard |
Inventor |
Hash Digest Size |
CRC-16 |
|
|
16 bits |
CRC-16-CCITT |
|
|
16 bits |
CRC-32 |
ANSI X3.66, FIPS PUB 71 |
|
32 bits |
FCS-16 |
|
|
16 bits |
FCS-32 |
|
|
32 bits |
GHash (GHash-32-3, GHash-32-5) |
- |
- |
32 bits |
GOST-Hash |
R 34.11-94 |
|
256 bits |
HAVAL (5 passes, 256 bits) |
|
Zheng, Pieprzyk, Seberry |
256 bits |
MD2 |
RFC 1319 |
Rivest |
128 bits |
MD4 |
RFC 1320 |
Rivest |
128 bits |
MD5 |
RFC 1321 |
Rivest |
128 bits |
SHA-1 |
FIPS PUB 180-1 |
NIST/NSA |
160 bits |
SHA-2 (SHA256/SHA384/SHA512) |
|
NIST/NSA |
256/384/512 bits |
SizeHash-32 |
- |
- |
32 bits |
Tiger |
|
Anderson, Biham |
192 bits |
rehash.exe [options] filespec [> outputfile]
The command-line is parsed from the left to the right. So if you execute ReHash like this:
rehash.exe -all -none *.*
it will output nothing, because you first activate all algorithms and then deactivate them all.
Some usage examples:Hash all INI files in C:\Windows (including subdirectories) using all hash algorithms:
rehash.exe C:\Windows\*.ini
Hash all INI files in C:\Windows (excluding subdirectories) using all hash algorithms:
rehash.exe -norecur C:\Windows
Hash all BAT files on C:\ (including subdirectories) using only MD5 and SHA-1 (remember command-line is parsed from the left to the right):
rehash.exe -none -md5 -sha1 C:\*.bat
Hash all files in C:\Temp (excluding subdirectories) using only the GOST algorithm:
rehash.exe -norecur -none -gost C:\Temp\*
Hash all ZIP files in C:\homepage (including subdirectories) using only the MD5 algorithm and output the hashes to C:\homepage\downloads\hashes.txt:
rehash.exe -none -md5 C:\homepage\*.zip > C:\homepage\downloads\hashes.txt
All options:
Option |
Description |
-help / -h / -?/ -version / -v |
Print some information about ReHash. |
-fullpath / -f |
Output the full paths of hashed files. |
-nopath |
Just output the filenames of hashed files, not the full paths to the files. |
-rcrsv / -recur / -r |
Recursive scanning. Scan all files in the specified path including files in subdirectories. |
-norcrsv / -norecur |
Disable recursive scanning. Scan only the files in the specified path not including subdirectories. |
-all / -a |
Enable all algorithms. |
-none / -n |
Disable all algorithms. |
-crc16 / -nocrc16 |
Enable/disable the CRC-16 algorithm. |
-crc16c / -nocrc16c |
Enable/disable the CRC-16-CCITT algorithm. |
-crc32 / -nocrc32 |
Enable/disable the CRC-32 algorithm. |
-fcs16 / -nofcs16 |
Enable/disable the FCS-16 algorithm. |
-fcs32 / -nofcs32 |
Enable/disable the FCS-32 algorithm. |
-ghash3 / -noghash3 |
Enable/disable the GHash-3 algorithm. |
-ghash5 / -noghash5 |
Enable/disable the GHash-5 algorithm. |
-gost / -nogost |
Enable/disable the GOST-Hash algorithm. |
-haval / -nohaval |
Enable/disable the HAVAL-5-256 algorithm. |
-md2 / -nomd2 |
Enable/disable the MD2 algorithm. |
-md4 / -nomd4 |
Enable/disable the MD4 algorithm. |
-md5 / -nomd5 |
Enable/disable the MD5 algorithm. |
-sha1 / -nosha1 |
Enable/disable the SHA-1 algorithm. |
-sha256 / -nosha256 |
Enable/disable the SHA-256 algorithm. |
-sha384 / -nosha384 |
Enable/disable the SHA-384 algorithm. |
-sha512 / -nosha512 |
Enable/disable the SHA-512 algorithm. |
-size32 / -nosize32 |
Enable/disable the Size-32 algorithm (simply the byte-count of the message). |
-tiger / -notiger |
Enable/disable the TIGER algorithm. |
Thanks to (no particular order):
- Markku-Juhani O. Saarinen - GOST-Hash implementation
- Yuliang Zheng - HAVAL implementation
- Wei Dai - implementations of various algorithms
- Dr Brian Gladman - SHA-1/SHA-2 implementation
- Tom St Denis - Tiger implementation
History
- 12 April 2003 - v1.0
First public release