rahash2 - Man Page

block based hashing utility


rahash2[-BbdDehjrknvq] [-a algorithm] [-b size] [-D algo] [-E algo] [-f from] [-i iterations] [-I IV] [-n blocks] [-s string] [-S seed] [-p type] [-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 filesystem analysis.

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

Comma separated list of algorithms to use when hashing files or strings. See -L to list the supported hashing algorithms. This flag can be passed multiple times instead of separating them by commas.

-b blocksize

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)


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

-I [^]s:string|hexstr

Set initialization vector (IV) for the cryptographic functions.


Show output in JSON (see -r and -J). If passed more than once results in -J


New simplified JSON output, maybe this format will replace -j, but it's added as a new flag to not break backward compatibility until proper discussion


Show per-block hash


Show result using OpenSSH's VisualHostKey randomart algorithm


Amount of blocks to hash

-s string

Hash this string instead of using the 'source' and 'hash-file' arguments.

-S [^]s:string|hexstr

Set seed to hash with, use ^to prefix seed, otherwise it's 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

-p arg

Show vertical entropy/statistical entropy graphs


Quiet mode (-qq for even quieter!)


Show output in radare commands

-x hexstr

Hash the given hexpair string instead of using the 'source' and 'hash-file' arguments.


Show version information


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.

See Also



pancake <pancake@nopcode.org>

Referenced By


March 12, 2022