is a free, Open Source file hashing utility which provides primitives
to compute multiple hash and checksum algorithms.
File hash computation can be used either to find
duplicate files (which have identical checksum/hash value), and to
corrupted files which have different checksum / hash values from a
may arise by simple technical issues - transmission
faults, degradation of memory support - which can usually be detected
with ease by quick and computationally light functions (often
integrated at various levels of transmission protocols and memory
technologies), or may arise from forgery, purposely crafted
of data created by a malicious attacker to exploit weakness of simpler
error detection mechanisms - which requires calculation of more
powerful verification functions like cryptographically strong hash
Compute error detection
files tool in
"File tools" submenu (context menu) allows to verify multiple hash and
checksum algorithms on multiple files at once, e.g. to
compare a group of file to identify redundant ones, or to check
files for corruption
when an original
checksum or hash value is
known (or when it can be calculated for reference from a known safe
copy of the data).
Selected algorithms are performed in a single passage so reading the
disk (usually the main performance bottleneck) occurs only one time,
speeding up the disk-bound part of the process.
The algorithms to be performed can be selected in Options >
Settings, in File Tools tab; calculated output value of hashes and
be seen as exadecimal (HEX,
either LSB or MSB) or encoded as
15 checksum and
hash algorithms are currently supported:
checksum functions Adler32, CRC16, CRC24, CRC32,
general-purpose hash functions as
eDonkey/eMule, MD4, MD5
cryptographically strong hash:
family (SHA256, SHA512)
SHA-3 family (SHA-3 256, SHA-3 512)
- BLAKE2S and BLAKE2B
at once, and especially relying on
strong hash functions as Ripemd160, SHA-2, SHA-3 or Whirlpool, can
of forging identical-looking files, as it is computationally feasible
to find a collision (different input files mapped to same output
checksum and hash functions, while finding digest value collisions is
currently not computationally feasible for more robust cryptographic
chose faster checksums like CRC32 to
perform a quick comparison (e.g. to detect duplicate
files of test for casual corruption data errors), but it is
recommended to employ a cryptographically
secure hash function (like BLAKE2S or BLAKE2B, SHA256, SHA-3
algorithms, or the
AES-based Whirlpool512) to detect
corruption / forgery attacks that might be calculated in order to pass
to one (or some) of the non-secure algorithms exploiting collision -
algorithm maps different input to same ouput digest.
This way, even a purposely crafted modification of a file would not
pass unnoticed to most sophisticated error / forgery detection
possible to identify not only plain data corruption (e.g. communication
or device fault) but also to avoid certain classes of attacks relying
on replacing original content with forged data.
"File tools" submenu performs byte to byte comparison between two
files, a slower process in which all single bytes of one file are
verified and matched with the same offset byte of the other file.
Unlike checksum / hash comparison, this method it is not subject to
circumstance, and can effectively tell what the different bytes are,
only a way to verify if two files are identical or different, but also
to find in details what changes were
made between the two versions.
Most archive formats
can be tested for errors using PeaZip Open Source file hash utility
(Test button), detecting if data is correctly readable and matches file
format specification's standards, either testing archive table of
content and single archive items.
Some archive types (7z, rar, tar, zipx...) improves error detection
storing pre-computed checksum values (usually CRC32, RAR format can optionally use 256-bit
BLAKE2sp hash) of archived data.
Data errors can be due to random corruption (faulty support, troubles
during download), out of standard archiving processes (bug, obsolete
specifications), or in worst case purposeful alteration of original
content. In some cases corruption or alteration of data can lead to an unreadable archive as result.
Testing archives for errors is an useful good practice sufficient for
low risk scenarios, but if there is a reasonable suspicion of the data
being purposely manipulated it is preferable to test the file with a
cryptographically strong hash function (SHA family, Ripemd, Whirlpool)
a known value, using aforementioned "Check files" tool.
Read more about error detection and related topics: definitions of data
integrity, checksum, hash, cryptographically
secure hash function, and data
Wikipedia, sha-2-family standard.
|PEA file format
provides a wide array of strong hash functions and authenticated
encryption options, saving inside the archive the calculated digest
values - Adler, CRC32, CRC64, MD5, SHA1, Ripemd, SHA2 (SHA256, SHA512)
and SHA3 (SHA-3 256, SHA-3 512), Whirlpool, plus OMAC or HMAC for
authenticated encryption (default EAX AES256 CTR+OMAC).
In this way the data integrity can be thoroughly tested
during extraction, reducing needs of relying on external file hashing
for verification both of integrity and autenticity of the content.
detection, how to verify data integrity with PeaZip, freeware Open
Source file hashing utility. Calculate CRC checksum and MD5, SHA256
file hash values to detect corrupt files.
Topics: how to compute
crc, verify md5, sha256 hash values, detect corrputed files, test files
for data errors
PeaZip > FAQ >
File hashing utility, verify CRC MD5 SHA256 hash values