Hacker News new | ask | show | jobs
by aylons 4022 days ago
I'm no security expert, but I have a question.

In some systems I've built in the past I employ MD5 as a hashing mechanism to verify firmware integrity after flashing it in the memory. I don't use MD5 for anything security related (this is treated in other ways, depending on the system), just to check transmission and memory integrity.

Is MD5 still considered fine for this, or is there a real risk that random or systematic (but unintentional) noise could generate a collision between corrupted and original data? I do believe it should suffice, but hearing all the badmouth makes me wonder...

2 comments

MD5 is good enough to prevent most random collisions. The problem is when you need to prevent intentional collisions.
As a note, even CRC32 is enough to check most random collisions.
I actually thought of using CRC32 when developing my first system, but I preferred MD5 because it would be easier and clearer for people to check file integrity in a *NIX command line.
I'm no expert either but as I recall if you verify the length as well it should be almost impossible.