What this tool does
Computes the SHA-512 hash of any text or file in your browser, returning a 128-character hexadecimal digest. SHA-512 is part of the SHA-2 family (FIPS 180-4), designed by the NSA and published in 2001 alongside SHA-256. It produces a 512-bit output and operates on 64-bit words, which gives it a meaningful speed advantage over SHA-256 on 64-bit CPUs when hashing large amounts of data.
When SHA-512 is the right choice
- High-security signatures. Some compliance regimes (NIST SP 800-131A higher-strength tier, certain government use cases) prefer or require ≥384-bit digests. SHA-512 satisfies that.
- Large-file integrity. On 64-bit hardware SHA-512 is typically 1.3–1.6× faster than SHA-256 for multi-gigabyte inputs. The extra digest size doesn't hurt; the throughput helps.
- Password hashing schemes that internally use SHA-512.
crypt(3)'s$6$format is SHA-512-based. Note: that scheme is not a substitute for bcrypt/Argon2 — it's slow only because of its iteration count, not its primitive. - HMAC-SHA-512 for message authentication where the larger output reduces birthday-bound concerns at the keying construction level.
- Truncated hashes via SHA-512/256 or SHA-512/224. When you want SHA-256-sized output but the speed of SHA-512 on 64-bit hardware, the FIPS truncation variants give you exactly that.
When to prefer SHA-256 instead
- Universality. Every system accepts SHA-256; many older or embedded systems don't accept SHA-512.
- Output size matters. Database columns, URL fields, certificate fingerprints — SHA-256 is half the bytes.
- 32-bit hardware. SHA-256 is faster on 32-bit CPUs and most microcontrollers; SHA-512's 64-bit word operations have to be emulated.
When SHA-512 is not the right tool
- Password storage. Use bcrypt, scrypt, or Argon2. SHA-512 alone is too fast — it doesn't matter that it's larger; the CPU/GPU still computes hundreds of millions per second.
- Direct key derivation from a password. Use HKDF or PBKDF2-SHA-512, not bare SHA-512.
- MAC of an arbitrary message. Use HMAC-SHA-512. Bare SHA-512 of
key || messageis vulnerable to length-extension attacks.
Test vectors
From the SHA-512 reference suite:
- Empty string
""→cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e "abc"→ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"→8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909
Notes
Why 128 characters? SHA-512 produces 512 bits = 64 bytes = 128 hex characters. Twice the visual length of a SHA-256 digest.
Length-extension attack — what is it? Given SHA-512(secret || message) and the length of secret, an attacker can compute SHA-512(secret || message || padding || extension) without knowing secret. This is why naive MAC constructions are unsafe; HMAC was designed specifically to avoid it.
Why does my SHA-512 differ from sha512sum? Trailing newline. Same answer as for the other algorithms: echo -n or use the file picker.
Related tools
- Hash Generator — all five hashes side by side
- SHA-256 — half the digest size, same security level, more universally supported
- SHA-1 — deprecated, kept around for git and legacy checksums
- Base64 — encode the binary digest for transport