An utility that will copy one or more files / directories to a destination, and compute an md5 checksum on the fly.
The source files / directories have to be specified on the command line. Then a dialog will pop up asking you for the destination, unless it was also specified on the command line (-d switch).
This should allow easy bindings in file managers.
W A R N I N G
Similarly to how `cp' works, md5copy currently overwrites destination files without warning!
The checksum will be saved in one .md5 file per directory. So if you have a layout like:
you would end up with the following checksum files:
Note that there is no a/a.md5, because there were no files (just directories) inside of a/.
I recommend the program cfv to verify files. cfv has the '-r' switch, which allows you to verify a whole directory structure copied with md5copy.
At the moment md5copy is slightly unoptimized to copy a large number of small files, since the total size of the copy operation is calculated first.
The mhash library is used to compute the checksum. This should make md5copy pretty reliable, and at no point in testing there was ever an incorrect checksum.
md5copy should be pretty fast. The reading part was inspired by GNU coreutil's md5sum. GUI, copy and hashing are all run in separate threads, so the hashing should not slow down the copying (although this statement has not benchmarked very well).