©2002 Irnis Haliullin   
Advanced CheckSum Verifier - MD5 and SFV utility for Windows
Welcome to
Advanced CheckSum Verifier
version 1.5.0
The handy and fast program with an clear interface for calculation and verifying the MD5 and CRC32 checksums of files in specified folder.
Screen shot of Advanced CheckSum Verifier - The MD5 and SFV utility for Windows
This program is especially effective if you have many files, many subfolders, or both. It will allow you to verify the accuracy of your data after you burn a CD or transfer files over a network.
 

The covert threat.

As well as many other PC users, I from time to time copy the files which have collected at my hard disk to compact discs. And as CD-writing drive at our office only one, I am due to copy these files over a local area network to the computer with this drive.

Having done once again this operation, I have found out, that the ZIP-file written down on a compact disc can not be unpacked. It has slightly surprise for me, since neither at copying, nor at recording, at the subsequent reading I did not receive any error messages. More detailed investigation has revealed, that the file was damaged at copying over network. Fortunately, I had not time to remove an initial file, and simply anew have copied a file.

After that case I have decided, that it is necessary to find means for the control of integrity of copied files. After short searches I have found the md5sum utility. This utility calculates the checksum of the specified files by MD5 algorithm. By comparing the checksums of a file before and after copying, I can check up identity of an initial file and a copy. It was all that is necessary for me!

Having begun to use this utility I have found out, that each time when I copy files to CD - R, usually several files has been found damaged. These damages occurs both at a stage of copying over a network, and at recording on CD - R. I do not know, why it occurs: because of bad quality of the equipment, or because of the software bugs. Or, maybe, the error correction algorithms incorporated in them begin to give failures at such volumes of the information. At least, now I had means of detection of the latent damages and I was once again convinced, that extra check never will superfluous…

Alternative.

Thus, this small utility has helped me to avoid possible losses of my data. Only, he had one restriction: can't process subfolders. To process a tree of folders I move in subfolder, launch the md5sum, move in the following subfolder, etc… It was rather tiresome and took away from me a heap of time.

I have decided that this process should be automated. Of course, to make recursive detour of subdirectories in language of scripts in Unix, this utility whence has come, it would be simple enough. Moreover, the version of the utility under Unix already had a feature for work with subdirectories. However, I needed such means under Windows and I still wanted to make some additions for the even greater automation and convenience of use.

In result I have written the program and called it Advanced CheckSum Verifier (in further ACSV). The program has two modes of operation: updating and verifying. In the updating mode it create special files with the checksums of files in the specified folder. In the verifying mode the program read these files and compares these values to the current checksum values of files. And if it finds out discrepancy (or absence of any file) the error event will be logged.

Now I launch the program, it start to scan the specified folders tree, and I quietly am engaged in the affairs. After completion of scanning, I look through the processing log. If I find files which has been damaged, I leave them for the next session of recording to CD - R. And speed of work of the program high enough: on my PII-400 under Windows NT 4.0 with 50-speed ASUS CD-ROM, the checking of the whole compact disc occupies about 2-3 minutes. Earlier when I used the program md5sum, it took away from me almost half an hour (if there were many folders).


Overview

Advanced CheckSum Verifier - the utility for calculation and verification the MD5 and CRC32 checksums of files. It is intended for check of the data integrity, and for revealing of the changed, removed or damaged files. Uses a the MD5SUM utility format for MD5 checksum files and SFV (Simple File Verification) format for CRC32 checksum files.

Advanced CheckSum Verifier will allow you to be sure that files recorded to CD-R(W), or copied over a network are an exact copy of initial files. Or simply to check up, what files have changed. It is especially effective, when it is necessary to check up many files and/or the ramified folders tree.

The program can work in two modes: creating or updating checksum files, and verifying the checksum files for the specified folders tree.

During updating the checksums, the checksum of each file in the specified folder will be calculated and saved in a special file. This file is called "checksum file", and in dependence from the program options, this file may be one for folders tree, one for each folder or one for each file.

During verification the checksums, values saved in this files compares with the current checksum values of corresponding files and the warns, if they do not match. Warnings are given also if files are absent, or on the contrary, in the folder have appeared new files.

The program features:

  • Recursive processing the subfolders;
  • Setting a mask for selection of files for processing;
  • Setting a mask for selection of checksum files;
  • Five ways of creating the checksum files;
  • The detailed protocol of processing;
  • Supporting the MD5SUM (Message Digest number 5) file format;
  • Supporting the SFV (Simple File Verification - CRC32) format;
  • Remembers all settings and automatically restores them at the next launch;
  • Very simple and convenient graphic interface;
  • Very small and fast (written fully on WinAPI);

System requirements

  • Windows 95/98/Me/NT4/2000/XP system
  • A little space on hard disk.

Program interface

The program interface is very simple. All information necessary for work can be entered by controls on the left side of main window. On the right side of main window is placed the log of work (see Pic.1). Controls have the following assignments:

The "Folder" field - a must contain the path to your files, in this field is necessary to enter the uppermost folder for files to processing. On the right side of this field there is a small button ("…"), by pressing on which it is possible to choose this folder path from the dialog box.

The "Filter" field - a mask for selection of files for processing. If you for any reasons want to process only files of the certain types, in this field it is possible to specify a mask for such files. The program will process only those files which match with this mask.

It is necessary to note, that during the verifying operation from this field depends only detection of new files. I.e. the "new file" warning arise only in the case when the new file matches with this mask. Regardless of this mask, all files included in a checksum files will be checked.

By default this field contains a string "*.*", which match with all files.

The field "Checksum file" - determine the checksum files name. In dependence of checksum files placement mode, this field must contain the full name of a checksum file (for example, "C:\checksum.lst"), or only a name part of a checksum files name (for example, "md5sum.lst"), or a mask indicating the checksum files extension (for example, "*.md5").

More details in the description of checksum files placement mode selection group.

NOTE: the usual status of this field is disabled to avoid casual change. For editing this field it is necessary to press the button with dots at the right side of a field ("…"). Such safety measures are accepted to exclude casual damaging of user files since all files with such name will be automatically rewritten at updating the checksums

Main program window
Pic.1.Main program window.

Except input fields there are several checkboxes and buttons, which change the program behavior:

"Include subfolders" - recursive processing the subfolders. If this box is checked, the all subfolders of the specified folder will be processed. Usually it is necessary (it's one of main goals of creation of this program), therefore by default this box is checked.

"Overwrite existing checksum files" - if this box is checked, the existing checksum files will be rewritten without any questions. If this box is cleared, the existing checksum files will not be updated. If this box is undetermined mode (has grayed) the program will ask user confirmation for rewriting the existing checksum file.

"Create SFV files instead of MD5SUM" - if check this box, the checksum files will be created in the SFV (Simple File Verification) format. The SFV format means the use CRC32 algorithm - faster, but less reliable, than MD5. If this box is cleared, the checksum files will be created in a MD5SUM utility format and accordingly, the MD5 algorithm will be used.

This checkbox affect only the updating process. During the verification process, the checksum files format and used algorithm will be determined automatically.

And at last, group of buttons incorporated under the name "Create checksum files…" set the checksum files placement mode:

  • "…one for entire folder tree in any place" - the checksums of all files are kept in one file in any place specified by the user. In this mode, pressing of the "Checksum file" button will cause appearing the dialog box for choice of a file.

  • "…one for entire folder tree in tree root" - the checksums of all files also are kept in one file, but this file always will be placed in the root of specified folders tree.

    I.e. if we have the string "C:\MyFiles" in a "Folder" field, and have the string "md5sum.lst" in a "Checksum file" field, the checksums of all files in this folder (and also in subfolders, if have checked a box "Include subfolders") will be kept in a file "C:\MyFiles\md5sum.lst".

  • "…one per folder with fixed name" - a separate file with the fixed name in each folder. I.e. in each folder will be created the checksums file with a name specified in a "Checksum files" field. This file will contain the checksums of all files located directly in this folder.

  • "…one per folder with folder name" - similarly to previous mode, but the checksum files names will be formed from the folder name by addition the extension specified in "Checksum files" field.

    For example, for our previous case, if the "Checksum files" field contains the string "*.md5", the checksums of files from the "C:\MyFiles" folder will be kept in a file "C:\MyFiles\MyFiles.md5", from the "C:\MyFiles\Pictures" folder in a file "C:\MyFiles\Pictures\Pictures.md5", etc.

  • "…for each file" - for each file the separate checksum file will be created. The name of a checksum file will be formed by addition to the name of a file the extension specified in a "Checksum files" field.

    For example, in the previous case, for the file "C:\MyFiles\File1.ext" will be created the checksum file named "C:\MyFiles\File1.ext.md5", for file "C:\MyFiles\File2.ext" - "C:\MyFiles\File2.ext.md5", etc.

Also, it is necessary to notice, what this buttons group affect only updating process. During the verifying the basic criterion is presence the file path in a "Checksum files" field.

If this field contain checksum file name with path (for example, "C:\checksum.lst"), only this file will be processed as checksums file. Otherwise, if this field contain only file name (for ex., "checksum.lst"), or mask (for ex., "*sum.lst" or "*.sum") without path, all files with this name (or, with names matched with mask) and being in folder, specified by "Folder" field, will be processed as checksums files.

The "Update" and "Verify" buttons starts the corresponding processes.

During processing, one of this buttons turns into "Abort!" button. If to press it, processing will be stopped. All other controls during processing will be disabled (see Pic.2).

Main program window during
Pic.2.Main program window during processing.

As mentioned above, the right side of the main program window is occupied by the log of work. During processing into log window will be output all error messages, warnings and hints. If the detailed log mode is on, also each processed file, used algorithm and checksum of this file will be output into this window.

After processing into log window will be output the statistical information - number of the processed files, their total size, spent time and average speed, and also number of errors, warnings and hints.

Log window has the local popup menu, which can be invoked by pressing the right mouse button. (see Pic.3)

Log window popup menu
Pic.3.Log window popup menu.

From the applications system menu (see. Pic.4) are accessible the "Options" and "About" dialog boxes. Besides, the "About" dialog box can be invoked by pressing the "i" button in the main window.

Applications system menu
Pic.4.Applications system menu.

The "Options" dialog box (see Pic.5) allows to adjust seldom changeable parameters of program. This parameters include: detailed log mode, popup hints and checksum files headers.

The "Detailed log: show the calculated checksum values" checkbox sets a level of details of the log of work. If this box is checked, the log will be contain not only the errors, warnings, hints and statistics - but also the information for each processed file: the full name of a file, the name of algorithm and value of the file checksum.

The "Show tooltips with help" checkbox enable/disable the tooltips. If this box is checked, it is possible to receive the additional information about each control on window, if pause the mouse pointer over this control.

The "Checksum files headers" group of buttons affect to checksum files headers. This headers contains short information about program, which has been used for creating this checksum files.

  • "No headers" - the checksum files will not contain any headers.
  • "Standard ACSV headers" - the first line of each checksum file will be comment line with program name and home page URL.
  • "Win-SFV compatible headers" - similarly to previous, but the header will contain additional text for compatibility with Win-SFV utility.

The basic goals of headers in checksum files is granting the information on how it is possible to check these checksums. Of course, if you create checksum files as short-term means or only for yourself, to include headings there is no necessity. However, if you use the checksums for check of integrity long-term stored(kept) archives or want give access to them to other people, it is desirable to include them.

Besides, for example, the Win-SFV utility at all does not recognize SFV files without the appropriate headers.

Options dialog box
Pic.5.Options dialog box.

The "About" dialog box (see Pic.6) contains the information on the copyrights, the full and correct name of the program, the version number, and also an authors e-mail address and the address of a home page of the program.

To write the letter to the author or to have a look at a home page of the program enough to bring the cursor of the mouse to the appropriate address (thus the address will be highlighted and will be emphasized) and to click the mouse button. After that the default e-mail client or web-browser will be launched.

About box
Pic.3.About box.


Installation of the program

From the program home page the three variants of installation packages are available for download. The first package named ACSV.ZIP is simple ZIP-file without installer. The second package named ACSVI.ZIP is also ZIP-file, but it's contain the installer SETUP.EXE and short description file README.TXT. The third and most recomended package named ACSVI.EXE is executable installer ready to immediately start installation.

Simply click on link to this file in your browser and answer "Open" in confirmation dialog (see Pic.1).

Downloading and start installation
Pic.1. Downloading and start installation

After successful downloading of the installation package, the installation program will be started and setup wizard will appear (see Pic.2).

Setup Wizard
Pic.2. Setup wizard.

The first step what you should do is agree with license terms and conditions. Press the "Next" button and dialog with license agreement will appear (see Pic.3).

License agreement
Pic.3. License agreement.

Carefully read the text of the license agreement and check the box "I accept the terms in the License Agreement" if you agree. WARNING: You should agree with license agreement for using the program.

Next page will ask your for folder where you want to install ACSV (see Pic.4).

Set installation folder
Pic.4. Set installation folder.

By default, the programm will install in folder named "Advanced CheckSum Verifier" under default program files folder. You can specify any folder or keep the default.

Next page will ask your for name of programm group (see Pic.5).

Program group name
Pic.5. Program group name.

By default the name is "Advanced CheckSum Verifier". You can type any name or turn off the creating of program group.

Next page contains options for creating shortcuts (see Pic.6).

Creating shotcuts
Pic.6. Creating shotcuts.

You can independly create shortcuts on Desktop, Quick Launch bar, on the Program menu and Start menu.

Check the options, where you want to create shortcuts and click the "Next" button. The next page allow you once again overview selected options before installation (see Pic.7).

Overview of options
Pic.7. Overview of options.

At this point your last chance to change installation options. After clicking the "Install" button the installation process will be started and completed page will appear when done (see Pic.8)

Installation completed
Pic.8. Installation completed.

Press "Finish" button to finish installation.


Quick start

For launch the program, execute the file ACSV.EXE. The main program window should appear.

Main program window just after start
Pic.1.Main program window just after start.

To start work, it is necessary to specify in a "Folder" field the folder with files. You can press the button at right side of this field to invoke the folder selection dialog box.

Folder selection dialog box
Pic.2.Folder selection dialog box.

Now, if the default settings satisfy you, it is possible to press button "Update" or "Verify" to begin, accordingly updating of checksum files or check of files. The program will start processing files in the specified folder, progress bar at the bottom of the main window will indicate how many files are processed, and window title will show percentage of work. The logging window will display the messages arising during processing.

Main program window during
Pic.3.Main program window during processing.

Please, wait end of work and look through the contents of a log window.

Main program window
Pic.4.Main program window after processing.


Typical scenarios.

Check of the received files.

We assume, that you have downloaded some files from the Internet and now want to be convinced, that files were downloaded without errors. Fortunately, the owner of a site, whence you have received files, together with files has laid out also checksum files. And you have downloaded them together with files.

For example, let the downloaded files are in the folder "C:\Download", and the checksum for each file are stored in a file with the same name, but with additional expansion "md5".

To check up these files make the following:

  1. Enter into a "Folder" field a path to files: "C:\Download"
  2. If in this folder there are subfolders check a "Include subfolders" box
  3. Enter into a "Checksums file" field a mask for checksum files: "*.md5"
  4. Press the "Verify" button
  5. After end of work look the log and make conclusions.

Creation of checksum files.

We assume, that now you have decided to lay out some files on the Internet. And too, for caring of visitors of your site, you also have decided to place together with files their checksums.

For example, suppose, that you have collected all these files in one folder "C:\Upload", have decided that for the checksums the MD5 algorithm will be used, and that for each file there will be a separate checksum file with additional extension "md5".

To make this it is necessary to do the following:

  1. Enter into a "Folder" field a path to files: "C:\Upload"
  2. If in this folder there are subfolders check a "Include subfolders" box
  3. Enter into a "Checksums file" field a mask for checksum files: "*.md5"
  4. Make sure that the "Create SFV files instead of MD5SUM " box is clean
  5. In the "Create checksum files." group select the "…for each file" item.
  6. Through the system menu invoke the "Options" dialog box, and in this dialog box, in "Checksum files headers" group, select "Add standard ACSV headers" item.
  7. Press the "Update" button
  8. After end of work look the log and make sure, that all files are successfully processed.

Now contents of the "C:\Upload" folder can be placed on your site.

Recording CD-R(W).

Assume, that you need to write down a plenty of files on a compact disc for transfer to the customer in the other city. Or, you need to free some space on a hard disk and for this purpose you have decided to move old files to compact disc. In both cases, it is necessary to be convinced that all files has been recorded correctly.

Let's assume, that all files are collected in one folder "C:\MyFiles", and the drive for recording on CD - R (W) is established as a disk "D:". Because for us reliability in this case is very important, we again shall choose the MD5 algorithm. And because there is no necessity to create a separate checksum file for each file, we will create one file for entire compact disc.

This time the sequence of actions will be such:

  1. Enter into a "Folder" field a path to files: "C:\MyFiles"
  2. If in this folder there are subfolders check a "Include subfolders" box
  3. Enter into a "Checksums file" field the name for a checksums file: "md5sum.lst"
  4. Make sure that the "Create SFV files instead of MD5SUM " box is clean
  5. In the "Create checksum files." group select the "…one for entire folder tree in tree root" item.
  6. Through the system menu invoke the "Options" dialog box, and in this dialog box, in "Checksum files headers" group, select "Add standard ACSV headers" item.
  7. Press the "Update" button
  8. After end of work look the log and make sure, that all files are successfully processed.
  9. Launch CD-R(W) burning program and write down files.
  10. After end of burning, return to ACSV
  11. Enter into a "Folder" field a path to files on CD-R(W): "D:\"
  12. Press the "Verify" button
  13. After end of work look the log and make conclusions.

Contact information

Please, send all suggestions, feedbacks and bug reports to this mail irnis@irnis.org.

Last version of the program always can be found to the address: www.irnis.org.

License

All copyrights to Advanced CheckSum Verifier are exclusively owned by the author - Irnis I.Haliullin.

Anyone may use ACSV during a test period of 30 days. Following this test period of 30 days or less, if you wish to continue to use ACSV, you must register.

Once registered, the user is granted a non-exclusive license to use ACSV according the license type, for any legal purpose. This license will be valid for all further versions of ACSV. Also registered users will get the free technical support by e-mail.

Personal license allow to personally use ACSV by a single person on one or more workstations (for example, on desktop and on notebook). Personal license is always granted to person, not organizations. Organizations should register for business or site licenses.

Business license allow to use ACSV on number of workstations defined by license quantity. You should purchase so much licenses, on how many workstations are going to install ACSV.

Site license allow to use ACSV on an unlimited number of workstations at the same physical site location. This site location would normally be defined as a single building, but could be considered to be a number of buildings within the same, general, geographical location, such as an industrial estate or small town.

Conditions of distribution

The unregistered version of program may be distributed freely under condition of preservation of constant contents of the distribution kit.

© /script.js /script.js    November 30, 2006