I'll give you an example of usage from my own real-world. I maintain a database of MP3's that I use for
broadcasting. Every 2 hours a perl script (loadmusic) runs through my MP3's looking for new, updated, moved and deleted files.
To determine if an MP3 is the same, I used a Md5 checksum of the file. That way I can apply the following logic:
- Same MD5, same directory + filename: the file hasn't changed
- Same MD5, different directory + filename: the file is in the database, but has just moved to another location (no need to re-add it)
- Different MD5, same directory + filename: the file has been updated (ID3 tags might have changed, or the last time it was scanned, it wasn't complete (download in progress from Napster)).
- MD5 doesn't exist in database and filename + directory doesn't exist in database: new file!
- In the database, the MD5 specified doesn't match a record and the filename + directory name doesn't exist: file has been deleted! Remove from DB
So, I use it to "link" files on the HD to entries in the MD5. Since the MD5 sum is unique for every file, it works as the perfect identifier (ed.).
In response to ichimunki: Absolutely correct! Of course what I meant to say was "virtually unique" :)