MD5 (message digest algorithm) or other hashes are one way functions that produce a "fingerprint". essentially, they map something with a lot of bits down to just a few bits (128 in the case of MD5) in such a way that collisions are as rare as possible.

this is useful because you can compare and store these small hashes much more easily than the entire original sequences. in cryptography, one-way hashes are used to verify something without necessarily giving away the original information. eg, unix stores hashes of passwords instead of the passwords themselves. when a user enters their password, the system computes the hash of it and compares it to the hashes listed in /etc/passwd. since you can't run the hash function in reverse, the system knows that the password you entered is the right one. the crypt that unix uses doesn't really reduce the size but is a similar idea. hashes and digests like MD5 are an integral part of digital signatures.

MD5 is just one of many hashing algorithms. it was developed by Ronald Rivest (the R in RSA) in 1991. it's an updated version of MD4. there's also SHA-1 (Secure Hash Algorithm), developed by NIST in conjunction with the NSA and produces 160 bit digest. it's more collision resistant than MD5 and is the most commonly used hash for cryptographic purposes these days. there are others, but these are the important ones.

anders pearson


In reply to Re: What is MD5 Hashing and Why is it Important? by thraxil
in thread What is MD5 Hashing and Why is it Important? by princepawn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.