What is SHA-384?
SHA-384 is a 384-bit cryptographic hash function defined in NIST FIPS 180-2 (2001). It produces a fixed 384-bit digest — forty-eight bytes, written as ninety-six hexadecimal characters — and is the middle child of the SHA-512 branch of the SHA-2 family.
Structurally, SHA-384 is SHA-512 with two adjustments: a different set of initial chaining values, and a final truncation from 512 to 384 bits. Everything else — the 1024-bit block size, the 80 rounds, the 64-bit word arithmetic — is identical. That means SHA-384 inherits SHA-512's speed on 64-bit platforms: wider words let the compression function process more data per operation than SHA-256's 32-bit words.
SHA-384 vs SHA-512
| SHA-384 | SHA-512 | |
|---|---|---|
| Digest length | 384 bits (48 bytes / 96 hex) | 512 bits (64 bytes / 128 hex) |
| Block size | 1024 bits | 1024 bits |
| Rounds | 80 | 80 |
| Collision resistance | 192-bit (birthday bound) | 256-bit (birthday bound) |
| Throughput | Identical to SHA-512 | Fastest SHA-2 on 64-bit |
| Web Crypto native? | Yes | Yes |
On modern 64-bit CPUs SHA-384 and SHA-512 both run faster than SHA-256 for large inputs. The practical choice between them is usually protocol-driven: TLS signatures and many firmware stacks name SHA-384 explicitly, while SHA-512's full 128-hex output is only worth keeping when a standards document asks for it.
Security level
SHA-384 offers 192-bit collision resistance — far beyond any physical attack today. It was the first SHA-2 variant to add a truncation that protects against length-extension attacks: because the final 128 bits (which would carry the extension data) are never emitted, a hash-then-MAC construction built on SHA-384 gains some resistance to the classic Merkle–Damgård length-extension trick, whereas plain SHA-512 does not.
Where SHA-384 is used
- Signatures and TLS. A large share of active TLS certificate chains sign with SHA-384, and firmware-update signing stacks commonly mandate it.
- Utilities.
sha384sum, Windows PowerShellGet-FileHash -Algorithm SHA384, and many integrity checkers emit it natively. - KDFs. HKDF and several FIPS-approved KDF constructions support SHA-384 parameters for 192-bit key-pair compatibility.
How this tool works
SHA-384 is one of the four algorithms exposed by the Web Crypto API, so this page needs no
JavaScript hashing loop at all. crypto.subtle.digest("SHA-384", data) runs in the
browser's native cryptographic code — hardware-accelerated on most devices — and the result is
rendered instantly, with input still processed only on your own machine.
Worked examples you can verify right now
| Input | SHA-384 digest |
|---|---|
(empty string) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b |
hello world | fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd |
The quick brown fox jumps over the lazy dog | ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1 |
Paste any of these strings into the tool above — matching the UTF-8 bytes exactly, including the period in the fox sentence — and you will get precisely these 96-character digests.