- WARNING - Do not try to use rahash2 on a big file as it attempts to load the entire file in memory first.
all as the hash type to calculate all hash types available
Usage: rahash2 [-rBhLkv] [-b S] [-a A] [-c H] [-E A] [-s S] [-f O] [-t O] [file] ...
-a algo comma separated list of algorithms (default is 'sha256')
-b bsize specify the size of the block (instead of full file)
-B show per-block hash
-c hash compare with this hash
-e swap endian (use little endian)
-E algo encrypt. Use -S to set key and -I to set IV
-D algo decrypt. Use -S to set key and -I to set IV
-f from start hashing at given address
-i num repeat hash N iterations
-I iv use give initialization vector (IV) (hexa or s:string)
-S seed use given seed (hexa or s:string) use ^ to prefix (key for -E)
(- will slurp the key from stdin, the @ prefix points to a file
-k show hash using the openssh's randomkey algorithm
-q run in quiet mode (-qq to show only the hash)
-L list all available algorithms (see -a)
-r output radare commands
-s string hash this string instead of files
-t to stop hashing at given address
-x hexstr hash this hexpair string instead of files
-v show version information
Available Crypto Algos:
rahash2 man page
RAHASH2(1) BSD General Commands Manual RAHASH2(1)
rahash2 — block based hashing utility
rahash2 [-BdDehjrkvq] [-a algorithm] [-b size] [-D algo] [-E algo] [-s string] [-i iterations] [-I IV] [-S seed]
[-f from] [-x hexstr] [-t to] [-c hash] [[file] ...]
This program is part of the radare project.
Rahash2 allows you to calculate, check and show the hash values of each block of a target file. The block size
is 32768 bytes by default. It's allowed to hash from stdin using '-' as a target file. You can compare against a
known hash and get the result in the exit status.
You can hash big files by hashing each block and later determine what part of it has been modified. Useful for
This command can be used to calculate hashes of a certain part of a file or a command line passed string.
This is the command used by the 'ph' command of radare.
-a algo Select an algorithm for the hashing. Valid values are listed in: rahash2 -L
Define the block size
-c hash Compare the computed hash with this one. Allowed only when a single hash is computed.
-D algo Decrypt instead of hash using the given algorithm (base64, base91, rc4, aes, xor, blowfish, rot,
rol, ror, rc2, rc6, punycode)
-e Use little endian to display checksums
-E algo Encrypt instead of hash using the given algorithm (base64, base91, rc4, aes, xor, blowfish, rot,
rol, ror, rc2, rc6, punycode)
-i iters Apply the hash Iters times to itself+seed
Set initialization vector (IV) for the cryptographic functions.
-j Show output in JSON (see -r)
-B Show per-block hash
-k Show result using OpenSSH's VisualHostKey randomart algorithm
-s string Hash this string instead of using the 'source' and 'hash-file' arguments.
Set seed to hash with, use ^to prefix seed, otherwise its suffixed. If the seed is just a dash '-'
it will read from stdin, this is useful to provide huge XOR payloads or other crypto keys bigger
than few bytes.
-f from Start hashing at given address
-t to Stop hashing at given address
-q Quiet mode (-qq for even quieter!)
-r Show output in radare commands
-x hexstr Hash the given hexpair string instead of using the 'source' and 'hash-file' arguments.
-v Show version information
-h Show usage help message.
The rahash2 utility exits 0 on success, and >0 if an error occurs.
When -c is used, exit status 0 indicates a match between the expected and computed hashes.
radare2(1), rafind2(1), rahash2(1), rabin2(1), radiff2(1), rasm2(1), ragg2(1), rarun2(1), rax2(1),
Feb 6, 2015