Hashing Is Not Encryption
Hashing and encryption are opposite: encryption is reversible with the key; hashing is a one-way function with no key and no reversal. A SHA-256 hash of any input always produces a 256-bit fixed-length output that cannot be mathematically reversed. Generate SHA-256 hashes in your browser with our SHA-256 Hasher.
What SHA-256 Is Used For
- File integrity verification: Software downloads are published with their SHA-256 hash so recipients can verify the file was not corrupted or tampered with in transit.
- Digital signatures: Rather than signing a large document directly, cryptographic systems sign the SHA-256 hash. Signing the hash is computationally trivial; signing the document itself would be expensive for large files.
- Bitcoin proof-of-work: Bitcoin miners compete to find a nonce that, when combined with block data and hashed with SHA-256 twice, produces an output below a target threshold.
- Password storage: Passwords should be stored as hashes, never plaintext — but SHA-256 alone is wrong for this. Use bcrypt, scrypt, or Argon2, which are specifically designed to be computationally expensive and resistant to high-speed brute-forcing.
Collision Resistance
A hash function is collision-resistant if it is computationally infeasible to find two different inputs that produce the same output. SHA-256 is considered collision-resistant: no practical collision has ever been found. Its predecessor SHA-1 is not — researchers demonstrated practical collision attacks in 2017, which is why SHA-1 is deprecated everywhere that matters.