Skip to main content


If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: Generating MD5 Checksums While Ripping (Read 3837 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Generating MD5 Checksums While Ripping

I am preparing to rip my entire CD collection to FLAC and have spent a few restless nights getting EAC configured to create the collection to my liking.  I'm just about ready to start the process, but was curious as to how others are using MD5 checksums.

I've seen various references around these boards to using MD5 checksums to check the integrity of audio files in a collection.  It's a great idea, but my questions are as follows:

- Do you run checksums on each file or on each directory?
- Can you instruct EAC (or a related script) to easily generate the MD5 checksum immediately as it is being ripped?  If AccurateRip tells me that I have a good rip and my MD5 cksum was generated at rip-time, I'll rest easy knowing that I can keep an eye on the quality of my files.
- How do you check your MD5 #'s and how often?


Generating MD5 Checksums While Ripping

Reply #1
I'll tell you what I do for backup:

1.  Rip the tracks to wav
2.  Calculate the MD5 fingerprint of the wav files
3.  Convert the wavs with a lossless compressor (ape, flac or wavpack)
4.  Tag and store the lossless files

My process is not automated.

I prefer to hash the wav files because if you change the tags of the compressed ones this will make your hashes unusable.

Anyway, most modern lossless compressors keep MD5 hashes of the original audio inside the files for error detection purposes. You cannot check these hashes with conventional tools, though.

hope this helps.

Generating MD5 Checksums While Ripping

Reply #2
This is not really a answer to your question, but I mention it anyway.

FLAC have its own integrity checker, which tells you if the file is valid.
Run "flac -t filename"

Generating MD5 Checksums While Ripping

Reply #3
There are tons of programs that will check and create wholefile md5 checksums.  I personally use md5sum from, but if you want something with a GUI try QuickPar, mkwact, or any number of others.

BUT.....may I strongly suggest against using .md5 verification for FLAC files.  First of all, FLAC has the FLAC fingerprint feature, which stores an md5 checksum of just the audio data within the file itself.  To check your files, just run a test as solaris has already said.  Plus, if you decide at any point to change the file tags or something, that will cause your .md5 checksum to fail, even though the audio is still identical.  Use FLAC fingerprints and the "test" feature, and you can change the tags and still veryify the files.

Edit to add: To answer your other question, there is no way to create an md5 checksum of a file "on the fly".  The algorithm needs to be run on a complete file, and the file needs to be unaltered after generation of the checksum to verify.

Generating MD5 Checksums While Ripping

Reply #4
I would also like to see something implemented into EAC that would create md5 hashes in the EAC extraction log

You wouldnt be able to calculate the md5 while its ripping, but you sure could calculate right after its done ripping or before/after compressing the file.

Generating MD5 Checksums While Ripping

Reply #5
I don't understand why people insist on using md5 for their own personal collections. Surely CRC32 is enough for this purpose? It's definitely a lot faster.


Generating MD5 Checksums While Ripping

Reply #6
I use a batch file system to automate my backup process.  Last night I completed most of the work to convert these to one WSH file.

I use mine to run MAC, TAG, and PAR2 - but by using such techniques you can serially run all sorts of applications, including one to create an MD5 value.

That said, if you are converting to FLAC, it seems that solaris' suggestion makes most sense.

I just thought I'd point out that it is possible.  Beto, if s/he wished, could automate her/his process using this method (excluding some tags I guess).
I'm on a horse.

SimplePortal 1.0.0 RC1 © 2008-2020