SHA-256 Hash Generator
SHA-256 with a live proof-of-work mining demo (the real double-SHA-256 Bitcoin uses), a multi-file checksum-list verifier, and a straight answer on why it is still the right choice -- and why raw SHA-256 is still the wrong choice for passwords.
What this tool does
Computes SHA-256 from text or a file, a real proof-of-work mining demo using the exact double-SHA-256 construction Bitcoin mining actually performs, a checksum-list verifier for matching an uploaded file against a SHASUMS-style list of published hashes, and a self-check against the official standard test vectors. This is a focused, SHA-256-specific companion to this site's general Hash Generator -- here for the two things that make SHA-256 worth a dedicated page: it is the hash doing real economic work inside Bitcoin mining right now, and it is still, a decade after SHA-1 broke, the hash everyone reaches for by default -- except for one specific job it was never designed for.
Why SHA-256 is still the standard
No practical collision attack has ever been demonstrated against SHA-256. It has been the standard signature hash for TLS certificates since browsers and CAs finished retiring SHA-1 in 2017, it is the default hash behind most software download checksums and Docker image digests, and it is the proof-of-work hash securing the Bitcoin network. The only theoretical dent is Grover's algorithm, a quantum-computing result that would roughly halve SHA-256's effective security margin from 256 bits to 128 bits of work -- still comfortably secure, and only relevant once large-scale quantum computers exist, which they currently don't.
Proof-of-work: SHA-256 doing real work
Bitcoin mining is, mechanically, a brute-force search for a
number (a nonce) that makes
SHA-256(SHA-256(block data + nonce)) -- applying
the hash twice, called SHA-256d -- start with
enough zero bits to be below a target threshold. There's no
shortcut: the only way to find one is to keep trying nonces
until you get lucky, which is exactly what makes it *proof* of
work -- producing a valid one is provably expensive, and
verifying it is instant. The demo on this page runs the real
SHA-256d construction client-side at a small, demo-scale
difficulty (a handful of leading hex zeros, rather than
Bitcoin's real-world difficulty of roughly 19+ leading zero
bits and climbing), so you can watch the actual search happen
in your browser.
Verifying a checksum list
Most software downloads publish a SHASUMS256.txt-
style file: one SHA-256 hash and a filename per line, produced
by sha256sum. Paste that whole file in and upload
the file you downloaded -- this tool matches it by filename
and tells you immediately whether the bytes you actually got
match what the publisher signed off on, which is the entire
point of publishing a checksum in the first place.
Why SHA-256 is still the wrong tool for passwords
This is the detail most "use SHA-256, it's the strong one" advice skips: raw SHA-256, salted or not, is still a bad way to store a password. SHA-256 is deliberately fast -- gigahashes per second on commodity GPU hardware -- which is exactly the property you want for verifying a file and exactly the property you don't want for a password, because it means an attacker who steals your hash database can brute-force every short or common password in a database in hours. Password storage needs a hash that's deliberately *slow* and memory-hard -- Argon2id (the current recommendation), scrypt, or bcrypt -- or at minimum PBKDF2 with a high iteration count, never a bare general-purpose hash like SHA-256, SHA-1, or MD5.
Self-check against FIPS 180-4 and RFC 4231
FIPS 180-4 publishes the official SHA-256 test vectors and RFC 4231 publishes the official HMAC-SHA256 test vectors -- computed live here via the browser's native Web Crypto implementation and checked against the published values.
Privacy
Everything, including the mining demo, runs entirely in your browser via the native Web Crypto API. Nothing is uploaded.