Comparison of file verification software

From Wikipedia, the free encyclopedia

The following tables compare file verification software that typically use checksums to confirm the integrity or authenticity of a file.

[edit] General

Software Developer First public release Latest stable version Cost (USD) Open source License Notes
cfv Matthew Mueller 2000-06-22 1.18.1 Free Yes GPL implemented in Python, available for Linux and Windows
cksum various (POSIX)  ? various Free Yes various
DySFV Johan Sonesson 2007 1.2.0.0 Free No freeware Windows
FastSum Kirill Zinov 2003 1.6.0.257 GUI/1.9.0.149 CLI various No freeware/shareware
FlashSFV Charles DeWeese 2007 2.6 Free No freeware/donationware Windows
FSUM SlavaSoft  ? 2.52 Free No freeware
HashCalc SlavaSoft  ? 2.02 Free No freeware
jHashCalc Death Master 01.10.2007 1.2 Free Yes GPL implemented in Java
Jacksum Johann N. Löfflmann 07.07.2002 1.70 Free Yes GPL implemented in Java
md5sum various (POSIX)  ? various Free Yes various
QuickSFV Mercedes  ? 2.36 Free No freeware Windows
sha1sum various (POSIX)  ? various Free Yes various
TeraCopy Code Sector 2007 2.0 various No freeware/shareware
wxChecksums Julien Couot 2003 1.2.2 Free Yes GPL
SuperSFV Thomas Dixon  ? 1.2 Free Yes GPL Mac OS X (Universal)
SFV Checker Traction Software  ? 1.19 ? No proprietary

There were several different file verification technologies, at this writing, including Simple File Verification (SFV), Message-Digest algorithm 5 (md5), Secure Hash Algorithm 1 (sha1), and Checksum. A number of computer programs incorporated these technologies, in various ways. The common goal, in general terms, was to use the data within a file to calculate a number. A very simple example, simpler than the one at the foregoing Wikipedia link for Checksum, would arise where one combined the numerical value of letters together. In the string "adb," for instance, the letter "a" would have a value of 1, because it comes first in the alphabet; "d" would have a value of 4; and "b" would have a value of two. If the algorithm in question called for adding the first two letters and subtracting the third, the result would be 1 + 4 - 2 = 3. If one of the letters got changed, the result would not be 3 anymore. A person could store the value of 3, with that "adb" string, and could re-run the calculation at any time to make sure the string's contents had not changed. More complex algorithms, based upon large quantities of data within a file, significantly reduced the possibility that part of a file could change without also changing the resulting value. So, for these technologies, the basic idea was that one would calculate the sum when the file was created; would keep that sum with the file; and would refer back to it whenever one wanted to verify that the file had not changed.