Glossary

Hashing

Hashing is a one-way transformation of data into a fixed-length string (a hash). "One-way" means: recovering the original from the hash is mathematically infeasible. Passwords in a database are stored exclusively as hashes, never in plain text.

Algorithms for passwords

Hashing ≠ Encryption

Encryption is reversible — encrypted data can be decrypted with a key. Hashing is one-way — recovery is impossible. Passwords need hashing; data that must be readable (e.g. an API key) needs encryption.

Salt

A random string added to a password before hashing. Protects against rainbow table attacks: identical passwords for two users produce different hashes. bcrypt and Argon2 include a salt automatically.