Introduction - If you have any usage issues, please Google them yourself
Cryptographic Hash Functions: A cryptographic hash function must have at least
two security properties: collision free and Hiding. Collision free property ensures that
for a given function H, no one can find x and y such that H(x) = H(y). The hiding
Property encures that Given H(x), it is infeasible to find x.