Cryptography
hashing
cryptography
fundamentals
What is Hashing?
Definition
Hashing is the process of converting input data of any size into a fixed-size output (hash or digest) using a mathematical function. A good hash function is deterministic, fast, and produces vastly different outputs for similar inputs (avalanche effect).
Why It Matters
Hashing is used everywhere: password storage (bcrypt, Argon2), data integrity verification (checksums), hash tables in programming, digital signatures, blockchain, caching, and deduplication. Understanding hashing is fundamental to software engineering.
Frequently Asked Questions
Can you reverse a hash?
No. Cryptographic hash functions are one-way — you cannot recover the original input from the hash. However, you can try to find the input by brute force or using rainbow tables, which is why salting is important for passwords.