Introduction
What?
Hashing is a cornerstone of cryptographic security. It involves the concept of a one-way function or fingerprint. Hash functions only work well when a couple of things are true about them:
They produce repeatable, unique values for every input.
The output value provides no clues about the input that produced it.
Why?
Some hashing functions are better at satisfying these requirements than others. How they work and why choosing a good one is so terribly important.