Carol Kussmann of the Minnesota Historical Society just sent me this wonderful review of checksum verification tools; most of the applications listed in her guest post not only calculates checksum values, but allows you to verify whether they have changed over time.  Using a tool like this is really a foundational element of any digital archives program, and I think you’ll find Carol’s review, which I’ve posted below as a guest post, to be extremely useful.  I know that I’ll be checking these tools out, with thanks going to Carol.


Author: Carol Kussmann, May 30, 2012

Checksums are one method available to assist with preservation of digital files.  Calculating and re-calculating checksum values on files over time allows archivists to monitor the health of their digital files.  Checksum values should remain the same over time, if they do not; the file has been modified or corrupted in some way on the bit level (the ones and zeros a computer uses to read a file).

Checksums are often calculated on files before they are transferred to another location.  This is because after the files are transferred hash values can be recalculated and compared to the original values to determine if the files that were transferred are the same as what was received.  This is a fundamental requirement of authentic documents – that the files have not been changed.

Working with government records, I was looking for a program that would suit my needs for creating checksums on documents before transferring to an offsite repository.  I was looking for a program that could:

  • Create reports of the calculated checksum values that could be sent along with the files to the offsite repository and verified after the file transfer.
  • Have the flexibility of both calculating and verifying hashes.
  • If possible have the option of selecting hash methods or using multiple hash methods.

In the end I reviewed five programs: FastSum, ExactFile, HashMyFiles, the File Checksum Integrity Verifier Utility (for Windows), and Checksums for Windows.  General information about each program can be found below, for more detailed information on each program review their individual reports found here.

FastSum

FastSum can both calculate and verify checksum values using a wizard that walks you through the process or by using the application itself.  Checksums can be run on individual files, the contents of single folders, and the content of nested folders.  Checksums use the MD5 algorithm only.

The resulting checksum values can be saved in a Checksum List.  The Checksum List includes at a minimum the checksum value and the file name; other properties can be added to the report by editing the settings.  Checksum lists can be created and saved as one per file, one per folder, or one per root (top level) folder.  This adds flexibility to the reuse of the checksum values.

ExactFile

ExactFile will let you calculate checksums on individual files as well as on a group of files.  ExactFile can calculate checksums with many different algorithms including those in the MD, SHA, RIPEMD and TIGER families.   Checksum values can be calculated with multiple methods at one time on single files, while one method must be selected when creating a digest (checksums on multiple files).

If you calculate checksums on a set of nested folders, the resulting checksums will be saved in a file in the top level folder, rather than with the individual files.  This file is saved with a file extension for the method being used.

This program can also be used to verify checksums.  Any file with a hash method extension (.md5, .sha1) can be opened with this program and can be used to verify the checksums.  (This program opened the Checksum Lists created by FastSum and simply verified the checksums.)  To verify checksums, open the checksum file, point to the location of the associated files if necessary, and click run.  Reports will identify any problems.

Another feature of this program is that it allows you to create a TestFile Applet.  This Applet was created for use when burning files to CD, but also works well on folders on servers.  A digest is created that lists the checksums for multiple files, but it also creates at TestFile.exe file that can be run from the CD or folder in which it is in.  This allows users without the ExactFile program to make sure the files have not changed.

There is also a command line tool available for this program.

HashMyFiles

HashMyFiles is a program that supports multiple checksum methods including MD5, CRC32, SHA-1, SHA-256, SHA-512, and SHA-384.  Hash values are immediately calculated upon file selection.

Files on which checksums are to be run can be added in a variety of ways, however there is only one way to add content that includes nested folders.

Reports include the file name, hash values of the chosen methods, the full path of the file, modified time of the file, created time of the file, file size, file version, product version, identical, extension, and file attribute.  Reports however are not automatically saved.  To save the information, files must be selected.  This allows the flexibility of saving all, none, or part of the information in the report.

Reports can be saved as a text file (.txt), a HTML file (.htm, .html), an XML file (.xml), or a comma delimited file (.csv).  Unlike with some other programs that automatically save reports in the same location as the hashed files, you need to choose where to store the reports.

This program has additional features that color codes identical hash values in a report, allows you to customize the report columns, and displays individual file properties in a new window if desired.

This program can also be run from the command line on files and folder as well as from within a Windows Explorer menu on individual files.

File Checksum Integrity Verifier Utility

This is a command line utility that supports MD5 and SHA1 checksum algorithms.  MD5 is the default method.

Using the command line in conjunction with a file structure that is part of a larger organization is very difficult.  The command line does not allow spaces in file names.  This is very difficult in a shared Windows environment where the folders are automatically created and named for you such as My Documents and My Pictures.  To use this application, everything had to be moved to my local computer which was not very practical.  Because of this, I did not explore this program any further; however, I was able to create MD5 hash values on files stored on my hard drive.

Checksums for Windows

If you are looking for a program to assist you with verifying checksum values on an individual file basis, CheckSums for Windows provides this simple service for MD5, SHA-1, SHA-256, SHA-384, and SHA-512.  You can calculate and verify checksums for each of these algorithms one file at a time.  This program does not do anything in batch format and does not save the values for you.

These five programs are just a sampling of easily accessible tools available for creating and verifying checksums.   To find other available tools it is best to perform Internet searches to narrow down your results based on your needs and requirements.

 

Comments are closed.