Password Hashing Explained with Bad Drawings
cswithbaddrawings.wordpress.com