| ©2002 Irnis Haliullin |
 |
| 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.
|
 |
| 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
 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).
 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)
 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.
 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.
 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.
 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).

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).

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).

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).

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).

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).

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).

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)

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.
 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.
 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.
 Pic.3.Main program window during
processing.
Please, wait end of work and look through the contents of a log 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:
- Enter into a "Folder" field a path to files: "C:\Download"
- If in this folder there are subfolders check a "Include subfolders" box
- Enter into a "Checksums file" field a mask for checksum files: "*.md5"
- Press the "Verify" button
- 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:
- Enter into a "Folder" field a path to files: "C:\Upload"
- If in this folder there are subfolders check a "Include subfolders" box
- Enter into a "Checksums file" field a mask for checksum files: "*.md5"
- Make sure that the "Create SFV files instead of MD5SUM " box is clean
- In the "Create checksum files." group select the "…for each file" item.
- 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.
- Press the "Update" button
- 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:
- Enter into a "Folder" field a path to files: "C:\MyFiles"
- If in this folder there are subfolders check a "Include subfolders" box
- Enter into a "Checksums file" field the name for a checksums file: "md5sum.lst"
- Make sure that the "Create SFV files instead of MD5SUM " box is clean
- In the "Create checksum files." group select the "…one for entire folder
tree in tree root" item.
- 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.
- Press the "Update" button
- After end of work look the log and make sure, that all files are
successfully processed.
- Launch CD-R(W) burning program and write down files.
- After end of burning, return to ACSV
- Enter into a "Folder" field a path to files on CD-R(W): "D:\"
- Press the "Verify" button
- 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.net.
Last version of the program always can be found to the address:
www.irnis.net.
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.
|