Hashing is using a one-way function to take a variable length input and generate a fixed length output. The same input produces the same output, while slightly different inputs produce very different outputs. Hashing is used in various situations such as encryption, checksums, and digital signatures. An important feature of hashing algorithms is that the input must be impossible to derive from the output. This is why hashing is a one-way function. This article is about using the OpenBSD Blowfish password hashing code (BCrypt) for securing passwords against cracking.