Inputs

Hashes are computed using the browser's Web Crypto API. Input is never sent anywhere.

What a hash does and doesn't do

A cryptographic hash takes any input โ€” a word, a file, a billion-byte database dump โ€” and produces a fixed-length fingerprint. The same input always produces the same hash, but you cannot reverse a hash to get the original input. This makes hashes useful for:

  • Verifying file integrity โ€” download a file with its SHA-256 published alongside, hash your copy, compare.
  • Password storage โ€” never store raw passwords; store a salted hash (using bcrypt/scrypt/Argon2, not raw SHA).
  • Deduplication โ€” files with the same hash are (almost certainly) identical content.
  • Cryptographic signing โ€” hash the document, sign the hash. Faster than signing the whole document.

Algorithm choices and when to use them

HashOutput bitsStatusUse cases
MD5128Broken โ€” collisions known since 2004Non-security: file dedup, etag, cache keys
SHA-1160Broken โ€” practical collision 2017 (Google SHAttered)Legacy compat only; never new security work
SHA-256256Current standardFile integrity, signatures, Bitcoin, TLS certs
SHA-384384Truncated SHA-512Required by some compliance regimes (FIPS)
SHA-512512Stronger margin than SHA-256Long-term integrity, password key derivation
For passwords

Plain SHA-256 is the wrong tool for password hashing. Use Argon2id (recommended), bcrypt, or scrypt. These are deliberately slow and memory-hard to resist GPU cracking. Storing passwords as raw SHA-256(password) is functionally equivalent to storing them in plain text.