Microsoft has released a freeware command-line tool called FCIV, short for File Checksum Integrity Verifier. The
tool can be used to create cryptographic hashes or "fingerprints" for files. These hashes can later be used to validate the integrity of those files, which is useful if you're distributing archives of files and want to provide some means for the end user to verify that they are both intact and legitimate.
You can also accomplish this with other tools. The popular file-compression utility WinRAR, from win.rar GmbH, for instance, automatically computes and stores 32-bit cyclic redundancy check (CRC) information for every file in an archive. However, the Microsoft tool has several advantages over WinRAR as far as checksumming.
FCIV can create hashes using MD5 or SHA-1 cryptography, which are generally of better precision than a simple 32-bit CRC. In addition, the program can take the generated checksums and export them to an XML file (which can, in turn, be imported into a database or stored as is) for record keeping, with the hex values for the hash stored in a base64-encoded format. You can, in turn, run FCIV against a group of files in a directory to verify that their hash values match the results in a given database.
You can also run the program recursively against a given directory tree with exclusion data so that specific directories are not hashed or checked or so that only files that match a specific extension or wildcard are checked. The program returns standard command-line error codes, so the hashing is done as part of a batch operation and the results evaluated elsewhere. One possible application for the program is to generate a hash database for a list of sensitive files -- such as system files -- and compare the files themselves against the hash list to make sure nothing's been changed.
Keep in mind that while the tool is free, it's also completely unsupported: You use it strictly at your own risk.
Serdar Yegulalp is editor of the Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators -- and please share your thoughts as well!