My MD5Hash program only does MD5 as one might expect from the title. But the main thing I wanted to accomplish was to make it robust for use with large files, such as video. I tested it with .mkv and .m2ts files 8+ GB in size and I never saw it crap out.
Unfortunately I lost the source code so I cannot fix a few niggling bugs. The main annoyance happens when you right click say 100 files in Explorer and select md5hash from the context menu(if you used the included utility that sets up context menu access.) There will be 4 or 5 copies open before the "single instance" behavior kicks in. I know how to fix it if I still had the source. But so it goes.
I regularly use it to check all the downloads on my page. The editbox is a RTF Edit control. So it can hold quite a few lines. I put the md5sum first on the line for sorting purposes. Right clicking on a folder and selecting Md5Hash should hash all files in that folder and subfolders. Again I put a sanity check value of 4095 so it is not designed for hashing every file on C:.
Here is the scenario how I automate using it to make sure all my downloads have not been tampered with. I use DownLoadThemAll to download all my zip files to a folder. I right click the folder and choose md5hash. Then I right click the folder on the HD that has my zip files for upload to my page. The "single instance" behavior adds the md5sum lines to the Edit Box of the already opened copy of md5hash.
After this I run a script that cuts the contents of the Edit Box to clipboard, reads it out, sorts it, and saves it to file writing 2 lines then a blank line until all the lines are written out. This file is then launched in a text editor. This makes it easy to see the files are sorted in pairs by md5sum. If there was any non match the whole pattern would be thrown off and it is obvious to the eye.
Anyway, if you have rather large files to process such as greater than 4 GB I optimized the file handling to work in large chunks. A 10 MB buffer is used so that even with multi GB files you can see the progress bar move along. Files can be added even though processing is running. They are added to a queue and processed in order with a count of the number of files remaining in the caption bar. I used a simple dialog type Win API application so that the program is a self contained exe. It should work on XP or newer English language Windows. You may download from my page here:
http://milesaheadsoftware.org/btw it includes both 32 bit and 64 bit native C++ exe versions. If you unzip maintaining the subfolder structure running the context menu installer utility picks the one that matches your system. If I remember rightly it was compiled with MS VC++ 9.0 native 32 and 64 bit compilers with optimization set to speed.
I wrote this about 5 years ago. Other than the behavior I already criticized I guess the main drawback would be that it is md5 only. But for my purposes that was good enough. Even now, 5 years later, I see most download sites, if they only have one checksum to check your download against, the vast majority of the time it is md5. Not glamorous or the spiffiest UI but it is stable and solid.