checksum
a point-and-click sha1 and md5 hashing application for windows..

After years searching for the perfect Windows file verification utility, I decided to write it!

Welcome to checksum, a blisteringly fast, no-nonsense file hashing application for Windows. checksum is a program that generates and verifies SHA1 and MD5 hashes; aka. "MD5 Sums", or "digital fingerprints"; of a file, a folder, or recursively, even through an entire hard drive, does it very quickly, intelligently, and without fuss. I think it's the best checksum utility on planet Earth, of course.  checksum on my Windows desktop, hashing like crazy.. [desktop wallpaper by Sharonga]

Normally I would put a cute image of the program here, but generally speaking, you don't see checksum running, it just gets on with the job. However, checksum does - optionally - pop up a cute progress ToolTip windoid, so I'll show you that instead..

Why?

In the decade before checksum, I must have installed and uninstalled dozens, perhaps hundreds of Windows MD5 hashing utilities, and overwhelmingly they leave me muttering "brain-dead POS!" under my breath, or words to that effect, or not under my breath. I always knew that data verification should be simple, even easy, but it invariably ended up a chore.

Either the brain-dead programs don't know how to recurse, or don't even pretend to, or they give the MD5 hash files daft, generic names, or they can't handle long file names, or foreign file names, or multiple files, or they run in MS DOS, or choke on UTF-8, or are painfully slow, or insist on presenting me with a complex interface, or don't have any decent hashing algorithms, or don't know how to synchronize new files with old, or any combination of these things; I usually end up shouting "FUXAKE! JUST DO IT WILL YA!!!".

No more!  Now I have checksum, and it suffers from none of these problems; as well as adding a few tricks of its own..
 

What is it for, exactly?

Peace of mind! SHA1 and MD5 hashes are used to verify that a file or group of files has not changed. Simple as that. This is useful, even crucial, in all kinds of situations where data integrity is important. For instance, these days, it's not uncommon to find MD5 hashes (and less rarely now, SHA1 hashes) published alongside downloads, even Windows downloads. This hash, when used, ensures that the file you downloaded is exactly the same file the author uploaded, and hasn't been tampered with in any way, trojan added, etc.; even the slightest change in the data produces a wildly different hash.
peace of mind for your optical data media, with hashing
It's also very useful if you want to compare files and folders/directories; using checksums is far more accurate than simply comparing file sizes, dates or any other property. For quick file compare tasks, there's also checksum's little bother; simple checksum, simply drag & drop for an instant hash readout.

If you burn a lot of data to CD or DVD, you can use a hash checker to accurately verify the integrity of your data right after a burn, and at any time in the future. If you distribute data in any way, maybe torrenteering your favourite things, run a file server of some kind, or just email a few files to your friends; checksums enable the person at the other end to be absolutley sure that the file arrived perfectly, 100% intact.

As well as providing secure verification against tampering, virus infection, file corruption and transfer errors, digital fingerprints can serve as an "early warning" of possible media failures, be they optical or magnetic. It was a checksum failure that recently alerted me to a failing batch of DVD-R disks; I saved my fading data in time, and got a refund on the disks. I'll leave you to consider the million other uses. There's only one reason, though; peace of mind.
 

Absolutely no-nonsense file verification..

checksum can create (two clicks) or verify (one click) both SHA1 and MD5 hashes of a file, a folder, even a whole disk full of files and folders in one simple, no-nonsense, high-performance operation. Basically; point it at a file or folder, and go! The parameters are controlled by command-line switches, but most folk won't have to worry about that; it all happens invisibly, and is built-in to your Windows® Explorer context (aka "concept", aka "right-click") commands (see above).
checksum icon
Note: while checksum operates with a command-line switches, it is NOT a Windows® console application; there's no messy DOS box, or anything like that! But if you want to run it from a console, that's covered, too.

Though there are a wealth of command-line options, most people find that checksum just works, exactly as they would expect, without any messing about; right-click and go!  But, if you are the sort who likes to customize and hack at things, you'll find plenty to keep you occupied.
 

On-the-fly configuration..

If you want to change any of checksum's options on-the-fly, simply hold down the SHIFT key when you select the Explorer context menu item, and checksum will pop up a dialog for you to tweak the process. If you want to have anything permanently set, checksum comes with standard plain text Windows ini file for you to tweak to your heart's content. I figure that anyone smart enough to use MD5sums, can edit plain text.
windows checksum creation options dialog
The options dialog is most useful when you want to only hash certain files in a folder, like mp3's, or movies. With your file mask groups, you can configure file-type specific hashing with just a couple of clicks. checksum creation options dialog, file types group drop-down, regular Windows masks apply

Common music, video, and archive formats come setup and ready to go, and you can easily edit or add to these at any time.

You can pop up the options by holding down the SHIFT key when you select the explorer menu item, so it's easy to get to the advanced options whenever you need them. Same goes for verification, though generally you won't need it - checksum is smart enough to just get on with the job, verifying whatever checksum files it finds in the path, be they MD5 or SHA1, or both, and you'll probably never need to use anything but the default verify command, nomatter how advanced you are! And because checksum recognizes other formats of MD5 and SHA1 files, it can be used not only to verify and create new checksums, but also verify existing checksum files, even ancient ones, automatically.

I expect there is some weird MD5 file format out there that I don't have an example of, Wang, maybe? but in practice, checksum supports ALL known MD5 verification file formats, that is, known by me. If you find an MD5 file format that checksum doesn't support, send it to me!

There isn't really a standard SHA1 format yet, but checksum's is pretty good (it's the same as the output from a *NIX sha1sum command in binary mode). Shall we?
 

100% Portable..

checksum usually operates as a regular installed desktop application with Explorer context menus, custom .hash, .md5 and .sha1 desktop icons, Windows start menu entries, and so on; but checksum can also operate in a completely portable state, and happily works from a pen-drive, DVD, or wherever you happen to be; no less than total portability.

Even with its little brother, simple checksum tagging along, the whole lot fits easily on a floppy disk, enabling you to create SHA1 and MD5 hashes, wherever you are. To activate portable mode, simply drop a checksum.ini file next to checksum.exe, you're done.

It's no problem to run checksum both ways simultaneously, or to run checksum in portable mode where checksum is already installed on the desktop. Simply put, if there's a checksum.ini next to it, checksum will use it, and if there isn't an ini there, checksum uses the one in your user data folder (aka. "Application Data", aka. "AppData").

If you like applications to run in a portable state, even on your own desktop, no problem; you can skip the installer altogether and simply extract files.zip to wherever you like. It's in the installer's files/ directory. There's also a checksum.ini inside the archive, so you can unzip-and-go.
 

Introducing.. The Unified Hash Extension™
And Multi-Hashing™..

checksum uses the MD5 and SHA1 hashing algorithms, and creates .md5 and .sha1 files to contain these hashes. But checksum prefers to instead create a single .hash extension for all your hash files, whatever algorithm you use. Welcome to the unified .hash extension..

an imagean imagean imagean image

I feel there are quite enough file extensions to deal with, and with some effort on the part of software developers, this may catch on. I hope it does, anyway, and that you agree. A single, unified hash extension looks like the way forward, to me. All comments welcome, below.

As well as being able to verify both MD5 and SHA1 hashes, even mixed up in the same file, checksum can also create such a file, if you so desire. At any rate, if you start using SHA1 hashes some day, you can keep your old MD5s handy, inside your .hash files..

The single, unified hash extension gives us not only the freedom to effortlessly upgrade algorithms at any time, without having to handle yet-another-file-type, but also the ability to easily store output from multiple hashing algorithms inside a single .hash file. Welcome to multi-hashing, which will doubtless have security benefits, to boot.
 

Fast, bloody fast..

checksum hashing progress fair zipping along
If you do a lot of SHA1 or MD5 hashing, you'll know that it's an intensive process, and relatively slow. Well, checksum is fast, very fast.

Even on my old desktop (a lowly 1.3GHz, where checksum was initially developed) it would rip through a 100MB file in under one second. Hashing your average album is instantaneous. With right-click convenience, intelligent recursion and synchronization, full automization, and crazy-fast hashing speeds, digital fingerprinting is no longer a chore; it's a joy!

Okay, I'm getting carried away, but seriously, this is how hashing was always meant to be.
 
 

Features..

If you like lists, and who doesn't, here's a list of checksum's "features", as compared to your average md5 utility..

True point-and-click hash creation and verification.

No-brainer hash creation and verification. In a word; simple.

Choice of MD5 or SHA1 hashing algorithms.

Create a regular MD5sum (128-bit), or further increase security by using the SHA1 algorithm (160-bit). checksum recognizes and works with both formats, even mixed up in the same file.

hash single files, or folders/directories full of files.. no problem.

checksum can create hash files for individual files or folders full of files, and importantly, automatically recognizes both kinds during verification, verifying every kind of checksum file it can find. Also, when creating individual hash files, checksum is smart enough to skip any that already exist.

Effortless recursion. (point at a folder/directory or volume and GO!)

Not only fully automatic creation and verification of files, and folders full of files, but hash all the files and folders inside, and all the folders inside them, and so on, and so on, through an entire volume, if you desire..  one click! ... Drive hashing is now officially EASY!

Multiple user-defined file mask groups.

For instance, hash only MP3 files, or only movies, whatever you like, available from a handy drop-down menu. All your favourite file types can be stored in custom groups for easy-peezy file-type-specific hashing. e.g..

music=*.mp3,*.wav,*.ogg,*.flac,*.ape,*.shn,*.mpc,*.mp2

The most common groups are already provided, and it's trivial to create your own. You can also enter custom masks directly into the one-shot options, e.g. reports-*.pdf, to hash all the reports in a folder, create ad-hoc groups, or whatever.

Automatic music playlist creation!

Another killer feature; checksum can create music playlist files along with your checksums! When creating a folder hash, if checksum encounters any of the music files you have specified in your preferences; mp3's, ogg files, wma, whatever; it can create a playlist for the collection (i.e.. the album). Rather nifty, and a perfect addition to the custom command in the tips and tricks section.

As well as regular Windows standard .m3u playlist files (Winamp, etc.), checksum also supports .pls playlists (shoutcast/icecast). Your call.

Effortlessly handles all known** legacy md5 files.

If you discover an MD5sum that checksum doesn't support, send me that file!

Create lowercase or UPPERCASE checksums at will.

Like many things, this can also be set permanently, if you so wish.

Automatic synchronization of old and new files

Automatically add new hashes to existing checksum files.
That's right! Automatically add new hashes to existing checksum files!

Integrated Windows® Explorer context (right-click) operation.

The installer will setup Windows® Explorer context commands for all files and folders, so you can right-click anything and create or verify checksums at will. Very handy. "setup", the rather clever installer, is also available in its own right, as a free, and 100% ini-driven installer engine for your own goodies. Stuffed with features, easy to use, and definitely deserving a page to itself. Soon.

As explained above, you can also bypass the installer altogether, and simply unzip-and-go, for 100% portable checksumming. Or you can have both.

No-fuss intelligent checksum verification.

Cut and paste your own checksum files if you like, rename them, mix and match legacy md5 formats in a single file, even throw in a few sha1 hashes just for fun; worry not; checksum will work it out!

Can be configured to permanently ignore any file types.

Obviously we don't want checksums files of checksum files, for starters, but if you have other file types you'd like on a permanent ignore, desktop.ini files, thumbs.db, whatever; it's easy to setup. The most common annoying file types already are.

Real-time tool-tip style dynamic progress update.

Drag it around the screen - it snaps to the edges, and stays there (checksum also remembers its dialog screen positions, for intuitive, fast operation).

Tool-tip progress can be disabled altogether, if you wish.

Right-click the Tooltip for extra options.

During verification, any failures can be seen real-time in a system tray tool-tip, hover your mouse over the tray icon for details. checksum also flashes the progress tooltip red momentarily, and (optionally) beeps your PC speaker, to let you know of any hash failures. If there were errors, the final tooltip is red (by default). Anything to make life a bit easier.

Verify a mix of multiple (and nested) md5 and sha1 checksum files with a single command.

Does what it says on the can!

Extensionless checksum files.

Traditionally, individual checksum files are named filename.ext.md5. Personally, I find this inelegant, and prefer them to be named filename.md5. I like it so much, I made it the default, but you can change that, if you like. When running extensionless; if checksum encounters multiple files with same name, it simply adds them to the same checksum file, so checksums for foo.txt, foo.htm, and foo.jpg would all go inside foo.md5, or better yet, foo.hash. Highly groovy.

On the verify side of things, checksum has always verified every possible checksum it can find, so these multi-hash file look just like regular folder hash files, and verify perfectly, so long as the data hasn't changed, of course!

Smart checksum file naming, with dynamic @tokens.

checksum file names reflect the actual files or folders checked! Automatically.

If you want more, you can specify either static or dynamic checksum file names, with a wide range of automagically transforming tokens. See below for details.

Effortless hashing of read-only volumes.

checksum can create sha1 and md5 hashes for the read-only volume, but store the checksum files elsewhere; either with relative paths inside; so you can later copy the checksum file into other copies of the volume, or absolute paths; so you can keep tabs on the originals from anywhere.

checksum currently has three different read-only fallback strategies to choose from; use whichever most suits your needs.

Extensive logging capabilities, with intelligent log handling and dynamic log naming.

checksum always gives you the option to log failures. But you can log everything if you prefer. hashing times can be included in the logs, and proper css classes ensure you can tell what's-what at a glance.

Relative or absolute log file path locations can be configured in your preferences, as can the checksum log name itself; with dynamic date and time, as well as dynamic location and status tokens, so you can customize the output naming format to your exact requirements.

In other words, as well leaving it to checksum to work out automatically, or typing a regular name into your prefs, such as "checksum.log", you can use cool @tokens to insert the current..
@sec   ...   seconds value. from 00 to 59
@min   ...   minutes value. from 00 to 59
@hour   ...   hours value, in 24-hour format. from 00 to 23
@mday   ...   numeric day of month. from 01 to 31
@mon   ...   numeric month. from 01 to 12
@year   ...   four-digit year
@wday   ...   numeric day of week. from 1 to 7 which corresponds to Sunday through Saturday.
@yday   ...   numeric day of year. from 1 to 366 (or 365 if not a leap year)

There is also a special token: @item which is transformed into the name of the file or folder being checked, and @status, which automatically transforms into the current success/failure status.
You can mix these up with regular strings, like so..

log_name=[@year-@mon-@mday @ @hour.@min.@sec] checksums for @item [@status!].log

The @status strings can also be individually configured in your prefs, if you wish. Roll the whole thing up, and with the settings above, the final log name might look like..

[2007-11-11 @ 16.43.50] checksums for golden boy [100% AOK!].log

HTML logging with log append and auto log-rotation

As well as good old plain text, checksum can output logs in lovely XHTML, with CSS used for all style and positional elements. With the ability to append new logs to old, and auto-transforming tokens, you setup automatic daily/monthly/whatever log rotation by doing no more than choosing the correct name. You can even have your logs organized by section and date, all automatically; via the free-energy from your @tokens.
 

Click here to see a sample of checksum's log output, amongst other things.


Total cross-platform and legacy md5 file format support

MD5 and SHA1 hash files from UNIX, Linux, Mac and Solaris, as well as a myriad of legacy Windows and DOS MD5 formats, in fact, every hash file I've ever come across, is supported. Throw any old MD5sum at checksum, and you'll get results. And if you don't (*gasp*), Send Me That FILE!

Work with hidden checksums.

If you don't like to see those checksum files, no problem; checksum can create and verify hidden checksum files as easily as visible ones. Like most options, as well as on-the-fly configuration via the options dialog (hold down SHIFT when you launch checksum), you can set this permanently by altering checksum.ini.

To create hidden checksums (same as attrib +h), use "h" on the command-line, or choose that option from the options dialog.

Don't worry about creating music playlists with the invisible option enabled, the playlists will be perfectly visible, only the checksums get hidden! (well, someone asked! ;o)

"Quiet" operation.

Handy if you are making scheduled items, etc, and want to disable all the dialogs. Simply add a 'q'.

You can also set checksum to only pop up dialogs for "long operations". Just how long constitutes a long operation, is of course, up to you. The default is 0, so you get "SUCCESS!", even if it only took a millisecond. Check your ini for more wee tricks like this.

Audio alerts.

Unrelated to the "quiet" option (above), checksum can thoughtfully invoke your peecee speaker to notify you of any verification failures as they happen, as well as shorter double-pips on completion. You can even specify the exact KHz value for the beeps, whatever suits you best.

You can also assign WAV files for the success and failure sounds, if you prefer.

Drag-and-drop files, folders and drives onto checksum.

If you prefer to drag and drop things, you can keep checksum (or a shortcut to it) handy on your desktop/toolbars/sendto menu, and drag files or folders onto it for instant checksum creation. This works for verification, too; if you drag a hash file onto checksum, its hashes are instantly verified.

Note: like regular menu activation, you can use the SHIFT key to pop-up the options dialog at launch-time. You can also drag and drop files and folders onto the one-shot options dialogs, to have their paths automatically inserted for you.

User preferences are stored in a plain text Windows® ini file.

You can look at it, edit it, back it up, script with it, and handle it. Lots of things can be tweaked and set from here, though 99.36% of people will probably find the defaults are just fine, and the one-shot option dialogs handle everything else they could ever need. But if you are a more advanced user, with special requirements, chances are checksum has a setting just for you. Click here to find out more about checksum.ini

Comprehensive set of command-line switches.

Normally with checksum, you simply click-and-go; but checksum also accepts a large number of command-line switches. If you are creating a custom front-end, modifying your explorer context menu commands, or creating a custom scheduled task, take a look at checksum's many switches. For lots more details, see here.

If you simply have some special task to perform, it can probably be achieved via the one-shot options dialog.

That's a lot of features! And it's not even them all!

 

Legacy and cross-platform MD5/SHA1 file formats that checksum can handle..

If you look inside any MD5/SHA1 checksum file - it's plain text - you find all sorts of things.
Here's what a regular (MD5) checksum file looks like..

01805fe7528f0d98c595ba97b798717a *01 - Stygian Vista (radio controlled).mp3

Each line begins with the MD5/SHA1 digest (hash), followed by a space, then an asterisk, then the filename. It's a clear format, flexible, relatively fool-proof ("*" is not allowed on any file system), and well supported.
Other formats I've come across..
single file single MD5/SHA1 hash types - these necessarily have the same name as the file, with ".md5" or ".sha1" extension added, and are often hand-made by system admins, or else piped from a shell md5/sha command) ..

01805fe7528f0d98c595ba97b798717a
4988ae20125db807143f84dbe09df9782c3c033a

space delimited hashes (before we figured out the clever asterisk)..

01805fe7528f0d98c595ba97b798717a 01 - Stygian Vista (radio controlled).mp3
4988ae20125db807143f84dbe09df9782c3c033a 01 - Stygian Vista (radio controlled).mp3

double-space delimited hashes (just silly, really)..
Believe it or not, this is the de-facto standard for md5 files, mainly because it's the output from the UNIX md5sum/sha1sum command in 'text' mode, which amazingly; is the default setting. By the way; md5sum's "-b" or "--binary" switch overrides this insanity.

01805fe7528f0d98c595ba97b798717a  01 - Stygian Vista (radio controlled).mp3
4988ae20125db807143f84dbe09df9782c3c033a  01 - Stygian Vista (radio controlled).mp3

back-to-front hashes in parenthesis - this is quite a common format around the UNIX/Solaris archives of the world (it's the output from openssl dgst command) ..

MD5(01 - Stygian Vista (radio controlled).mp3)= 01805fe7528f0d98c595ba97b798717a  or..
MD5 (01 - Stygian Vista (radio controlled).mp3) = 01805fe7528f0d98c595ba97b798717a  even..
SHA1(01 - Stygian Vista (radio controlled).mp3)= 4988ae20125db807143f84dbe09df9782c3c033a

checksum supports verification of all  these formats with ease, so feel free to point it at any old folder structure, Linux CD, whatever, or any .md5 or .sha1 files you have lying around, and get results.

And in case the above track names got you googled here, yes, checksum also works great in Microsoft® Vista, and Windows 7. ;o)
 

batch processing..

hashDROP icon (nicked from somewhere, I think!hashDROP
A batch-processing front-end for checksum..

Because checksum can be controlled by command-line switches, it's possible to create all sorts of interesting front-ends for it. The first of these to come to my attention, is a neat wee application called "hashDROP", which enables you to run big batches of jobs through checksum, using a single set of customizable command-line switches.

As developer seVen explains on the hashDROP page..



On seVen's desktop, at least, it looks something like this..

thumbnail image of hashDROP window, create tab
thumbnail image of hashDROP window, verify tab

 
hashDROP has already earned a place in my SendTo menu. Good work, seVen! For more information, documentation, and downloads, visit the hashDROP page.
 

Batch Runner logo/iconBatch Runner
Run multiple programs in a batch..

I originally designed Batch Runner to run a big batch of tests on checksum before release, but it has since proven useful for other tasks, so I spruced it up a bit, made it available.

If you want to run loads of hashing jobs using the same switches, hashDROP is probably more useful to you. But if you want to run lots of checksum jobs with different switches, or as part fo a larger batch of jobs involving other programs, then check out Batch Runner.

Batches can be saved, selected from a drop-down, run from the command-line, even from inside other batches, so it's handy for repetative scheduled tasks, or application test suites, as well as general batch duties. At least on my desktop, it looks like this..

thumbnail image of the Batch Runner window

 

simple checksum

What? There's More? simple checksum, checksum's wee brother - drag & drop hashing

Yup! checksum has a little brother, called "simple checksum". He's a bit, well, simple; but a well handy, FREE, and highly cute drag-and-drop desktop checksumming tool.

Drop a file onto simple checksum, get an instant hash.

Drop two files, and get an instant MD5 or SHA-1 file compare.

And that works from your SendTo menu, too (select two files - SendTo simple checksum - instant compare), or drag and drop onto simple checksum.exe itself, or a shortcut to the program. And everything has HotKeys. Very handy.

Check it out..
 

checksum download

Feel free to download and use checksum..

Note: if someone told you to come here and grab the beta, but there is no beta release available, that is because it has since proven itself, and become the stable release. Grab this, instead..

NOTE: If your Anti-Virus software detects anything in this software, I recommend you switch to an Anti-Virus that isn't  brain-dead. If you DO discover an actual virus, malware, trojan, or anything of that nature inside this software, please mail me, and I will send you a cheque for a Million Pounds, as a reward.
 

 
LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows. # from corz.org.. http://corz.org/windows/software/checksum/ # f396abec141a50321caa995665db2986 *checksum.zip b1b456df092db9e2dd752a7ed50b72598451d872 *checksum.zip
 
 

itstory.
aka. 'version info', aka. 'changes'..

This is usually bang-up-to-date, and will keep you informed if you are messing around with the latest beta, and let you know what's coming up next. Note: it was getting a bit long to include here in the main page, so now there's a link to the original document, instead..

itstory is here

 
 
 
cbparser powered comments..

previous comments (ten pages)   show all comments

shoguntom - 22.10.09 2:15 pm

A quick workaround for anyone else with this problem - modify setup.ini to always show options and then reinstall. The file is heavily commented so it should be pretty self explanatory.


cor - 22.10.09 3:54 pm

Ahh Qriist, you are technologically more advanced than me, I'm not in the Blu-ray loop yet. That's some BIG files! I guess folk are gonna want to sha1sum them at some point. smiley for :blank:

Thanks for the heads-up, shoguntom, and the kind words. There's a high probability that they will make their way into my front page auto-quote feature! Oh, wait a minute, I knew there was something I forgot to put back in, last time I updated the front page. Doh! Maybe this is just the kick I need; you basically hit the nail on the head, shoguntom; it's all about the approach. In this case mainly, "Get the job done, now!".

I'll keep my eyes open for other's posting about context menus on W7/32 (through the power of web voodoo, I keep a vague and distant eye on some of the places out there where checksum is discussed; to make it better, you understand). If this issue starts getting airplay, I'll definitely look into it, I mean, context menu use is another thing checksum is "all about". Can a thing be "all about" more than one thing? smiley for :lol:

NOTE: You don't have to reinstall checksum to get this functionality. If you check out the tips page, there's a section on how to create a context menu especially for music (albums). There's even a sample registry file you could use/edit. Simply insert whatever switches you want, and merge into your registry. And it's easy enough to add a command, instead, so you have one regular launch, and one with-options. Or whetever else you need.

There's a lot of reading around here, I know, but if you are a frequent checksum user, most of it is fairly rewarding stuff.

Thanks guys!

;o) Cor


Michael - 31.10.09 10:52 pm

Awesome tool - truly awesome! The only key thing it's missing IMO is ability to specify desination folder for your hash. Say I have a RW share that I'm mirroring. I want to hash it and then verify the copy using the hash. I wish I could just specify where the hash will get generated rather than having to polute source and then move from it.


cor - 02.11.09 4:58 am

I can see how that might be useful, Michael. I'll add it to my 2do list.

In the meantime, if you set the read-only bit (temporarily) on the root directory, you will force checksum into fall-back mode, and from there, you have a multitude of options about the format and location of the final .hash file.

Thanks for the flowers!

;o) Cor


SKeG - 03.11.09 9:00 am

see checkum gotten itself onto the latest Reanimator Extreme Edition. http://dcp.sovserv.ru/program/48738/2009/09/02/reanimator_ee/
smiley for :evil:


Michael - 04.11.09 5:33 pm

You don't always have permissions to change ACL on the folder that you have RW access to, so your workaround won't unfortunately work in my case.


Michael - 04.11.09 7:54 pm

Btw, another feature request I have is to allow filtering of sub-trees on a reg exp basis. Say I want to checksum all the files in the tree except for the sub-tree that is called "abc*x" and "yz*df" (there can be multiple instances of each hit). If the tree is several TBs in size and these are sprinkled throughout it manually selecting what to hash is not feasible. What I want is a single hash file that holds the entire tree except for a few subtrees that match by a specific name pattern, basically.

Thanks!


bert0123 - 07.11.09 11:51 pm

Nice program, almost perfect!

1) I would like to exclude files from getting checksummed based on file patterns.
In my directories there are files named "compositepage-01.jpg", compostiepage-02.jpg etc.
If i put in "compositeimage-" as textstring under ignore.. named files.. it does not work. Please let us exclude files based on patterns.

2) On the website I think a full description of all the options would be nice, and easier to read than the description in the ini file.

3) I like to be able to use multiple 'profiles' in windows (more versions of checksum.ini?) for different scenarios.

4) Maybe a windows frontend with more (all available) options.

Very nice program!




polbel - 19.11.09 9:17 am

hi cor,

i'm planning to use it on my 6.5 TB raid5 (Win 2008 R2 Standard 64-bit on Phenom 9650 2.3 GHz 8 GB RAM) home-made video server to check if files are staying the same over time because i discovered a few vob files that wouldn't play in my music video shows directory. do you code for 64-bit full 4 cores (or all available processors) to maximize speed?

count me in to beta test if it doesn't already and you need proof on a version that does.
the data stream on my raid5 sub-array is between 50 and 100 MB/s depending on file size and if it reads or writes. data size is 6 TB already, only 500 GB free and i still have another 6 TB of video data to move dvd > online. i also have a 4 TB music server (80% full) and a 2 TB E-book and software server (75% full) on win server 2003 32-bit to verify beta versions but these a dual-core. i also fluently speak and write french if you need to translate and get more market share. i also have a hosting site with ~ 100 GB available if you need some web space.

mega-thanks in advance

pol :-)


polbel - 19.11.09 9:03 pm

tested it with 154 GB of national geographics videos from my torrent server (win xp sp3 on a dell ws530 dual 1.5 GHz Xeons 1 GB ECC RAM 500 GB Sata-2 for torrents). creating md5 job finished after 5600 seconds. then it finished verifying in 2400 seconds on my 6.5 TB raid5 (Win 2008 R2 Standard 64-bit on Phenom 9650 2.3 GHz 8 GB RAM) video server where i had sent a copy of the videos. Pretty impressive!

one suggestion: add a browse button to choose logs directory.

pol :-)


Batchking - 02.12.09 2:22 pm

I'd like to point the "commandline geeks" here also to the free microsoft's "fciv.exe" commandline program.
It calculates MD5 and/or sha1, can recurse directories and stores the values for all files in an XML file.
E.g.:
fciv.exe -add %systemroot% -r -XML c:\MyDir\windowshashes.XML
will store all files below your Windows directory in c:\MyDir\windowshashes.XML,
while
fciv -v -XML c:\MyDir\windowshashes.XML
will verify all current file versions against the versions stored in the XML file.
You can also use "fciv.exe -list -XML {xmlfile} to display all file hashed in plain text.

It returns "0" if nothing has changed, and "1" if modified files have been found.
This is especially nice for batch operation using %errorlevel%.

Not as powerful as the "checksum.exe" here, but good enough for most simple tasks.



ibsteve2u - 11.12.09 10:41 pm

This is "sort of" out of the context of your program, but of great interest to me. What did you use to create the setup program?

I use InstallShield's Premier line, but they've bitten me in the sitter-downer before. To whit, if you fail to predict a system crash and uninstall Macrovision/Accresso/Flexera's product in advance, you can't reinstall on your repaired/new system because their licensing server assumes you pirated a copy.

That eventually leads you into a tangle with their support - who only work banker's hourssmiley for :eek: and make no real effort to conceal their suspicion that you are ripping them off.smiley for :evil:

<b>Which ticks me off.</b>

Your install is...sweet, neat, complete. So how do you do it/what product do you use?


Qriist - 17.12.09 1:24 pm

I may be mistaken, but I think cor created his own installer from the same language used in checksum itself - AutoIt.

For a ready made installer I have had success with WinRAR in the past. You can make a self-extracting archive that can be made to remove any references to WinRAR itself, making it more or less your own.


Peter B - 27.12.09 7:49 pm

Great looking app and it almost do what I want, but I am really looking for a small easy to use (easy to download and do not need install) app for checking files I downloaded from Internet. I use it a lot on computers that are not my own (Costumers).

I use your app today but I have to make a hash file from a checksum on a web page, It would be great if when I use simple checksum and I have dropped a file on it and get a checksum. I could just paste a checksum to the application and it will compare it to the checksum that it just created and tell me if it is a match.
Or a button or a shortcut key to make simple checksum read the clipboard and compare it to the checksum it has just made.

Would save me a bunch of irritating steps to do a checksum comparison. And then I will for sure nag my coworkers to try it too and that they also would donate.

Keep up the good work.


shodan - 06.02.10 9:30 pm

Hi,

I'd like to know if there is a way to slow down checksum ?

I run it in a virtual machine that is also running another process (producing files that I then run through checksum before they are sent over sftp and then rechecked with checksum on the destination computer, I find an error rate or at least 1 bit per 100 GB)

the problem is that I run checksum about once every 3 days , but when I do it so intensely hogs the hard drive that the producing application is affected, lowering output

Í don't make if it takes 4 times longer but I have to make sure I'm not slowing down production

is there a way to do that ?

thanks !

-shodan


Stephan - 07.02.10 11:43 am

I have this nice big hash file sitting in the root folder but since its creation
I have deleted/moved several folder/files which are now "missing files" during checksum verification.
I had hoped verify would ask me to delete those entries in the hash file
or that the synchronise feature would take care of it.
Do I have to hash the whole drive again and replace the current hash file?

Of course I could edit the hash file manually but...
what about teaching "checksum" a new trick to deal with this situation?
Pretty please?


PeterPaulW - 20.02.10 8:37 pm

Your app works well with most MD5 file formats, but the following format from a Mac could not be verified with checksum (note the additional dash):

;Created with MD5 by Eternal Storms Software
01805fe7528f0d98c595ba97b798717a - 20100205_0001.dng
01805fe7528f0d98c595ba97b798717b - 20100205_0002.dng
01805fe7528f0d98c595ba97b798717c - 20100205_0003.dng

The app is called 'MD5' from here: http://www.eternalstorms.at/md5/

Would you add a parser for this?


andi - 25.02.10 10:36 pm

hi, just wanted to let you know "checksum" saved me a lot of troubles today ... have to renew a file/database server and copy all the stuff on a temp. filesver: approx. 12 MILLION files (in several folders) with a couple of TBs in total. Some user had "locked"/inaccesible files etc. (dont even ask me how this is possible) - so in the end I wanted to make sure I realy got every file before cleaning up the old server and right now the machine is checking the directories over night (I just copied the root *.hash file to the other backup server) - till now it looks like your tool works flawless even for millions of files - Thanks a lot!

andi

PS.: McAffee indeed showed up a trojan-message but eset Nod32 says the prog. is fine ...


pop - 04.03.10 1:40 pm

Hi, just come across to this site. real present to read. the colors and design are good. your site is versatile. don't even know which category to add in my bookmark!

do have a question about checksum. is it possible to hash a drive by sector? since your program runs under windows, the feature will only be practical if we can run it under dos or linux where the drive will not be altered when mounted. but i guess it's out of the goal of this program? (too bad...)

will come again to read your stuff!


cor - 04.03.10 6:44 pm

Thanks for the continued suggestions and comments; all are considered carefully. And for the test cases, too pol and andi (it's always great to see the words "MILLIONS" and "TB" and "impressive" and "checksum" in the same sentence!), and flowers, ta.

Michael, bert0123, I remember writing (quite extensive) code for this sort of thing in mangleezee (a renamer). It's quite possible that it may work its way into a future version of checksum for both inclusion and exclusion of files and directories.

bert0123, you can create ad-hoc "profiles" right now by simply making copies of the checksum program (aye, so they each have their own ini). For a front-end, hold down SHIFT when you launch checksum!

ibsteve2u, if you (or anyone) want to play with the installer, mail me for a copy+documentation. It's being deprecated in favour of self-contained apps, but does work rather well.

Peter B, I do like the idea of simple checksum comparing its most recently calculated hash to "whatever" string is in the clipboard (either a hash, or a chunk of text/html/etc. containing a hash), and if they match, posting that information somewhere. This is definitely on the cards.

Stephan, perhaps you need a different tool.

shodan, no, there is no easy way to slow down checksum, yet. I advise creating more checksum files (i.e. per-directory) as opposed to one big root hash file. This will by itself create more "breaks" in checksum's operation, so that other processes can get stuff done. Also, you can verify smaller areas at once, if applicable. Another method is to verify hashes over a network connexion to the local machine. As crazy as it sounds; under certain configurations, it can free up I/O and keep everything running more smoothly (at the expense of a little CPU).

PeterPaulW, checksum already supports more hash formats over more platforms than any other hashing program I am aware of. However, it's unlikely I'm going to add support for every new non-standard hash format that comes along - it really is up to them to work the other way around. At any rate, this hash format looks pretty dumb to me; though I am ready and willing to be enlightened further on the subject!

Interestingly, it states that it uses the OSX built-in hashing tools. But they are based on BSD, right?, which checksum has always supported. Who or what is adding the dash? Please find out, and mail them to ask why!

pop, not sectors, no, just file; though you could always make an image of the disk and hash that. As for your bookmarks; yeah, it's a marketing nightmare! Maybe file under "Folk Art". smiley for :ken:

for now..

;o) Cor


Poopman - 08.03.10 6:36 am

Woo hoo


 

leave a comment, become part of this site!


First, confirm that you are human by entering the code you see..

(if you find it difficult to read, refresh the page for a new code)


gd verification image