Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures


Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips


Submit News
Search the site here...
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

I want to be able to uniquely identify a file by its contents. I read the file a

JavaFAQ Home » Security Go to all tips in Security

Bookmark and Share

Question: I want to be able to uniquely identify a file in Java program by its contents. I read the file and use java.utils.zip.CRC32 to compute the checksum value.

Does exist possibility to have two files with different contents that return the same checksum?

Answer: Java uses CRC32 which generates a 32-bit checksum. There are only 2^32 possible values. So when you have more than 2^32 files you're guaranteed to have a collision. The possible solution to increase security could be to use Message Digest - technology based on MD5 or SHA.

Message digests are secure one-way hash functions that take arbitrary-sized data and output a fixed-length hash value.

The size of Message digests is always the same, independent of the size or content of the message from which it was created - 1024 bits.

Of course, exist possibility that two files can have the same Message Digests as well.

But the probability that two different files have the same checksums with CRC32 and the same message digests is negligibly low and probably (who can disprove?) equals almost zero.

"Bulletproof" approach should be:
1. Check for CRC32 checksum for two files
2. If they are the same check the message digests...

 Printer Friendly Page  Printer Friendly Page
 Send to a Friend  Send to a Friend

.. Bookmark and Share

Search here again if you need more info!
Custom Search

Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy