SHA-384 hash generator — hex digests and SRI-ready Base64

SHA-384 turns any input into a 384-bit fingerprint; this page shows it as 96 hex characters or as the 64-character Base64 string that browsers expect in a Subresource Integrity attribute.

Live demo · real result from this tool
Output
With a key, the result is HMAC-SHA-384 (RFC 2104).

SHA-384

ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1
Digest length
384 bits (96 hex characters)
Input size
43 bytes

Processed on your device — nothing is uploaded.

How to use the SHA-384 hash generator

  1. Paste the content into Text to hash.
  2. Set Input is to Text (UTF-8), Hex bytes or Base64 bytes to match what you pasted.
  3. Pick an Output: hex for checksums and logs, HEX for uppercase, or Base64 for SRI and many APIs.
  4. Optionally type a secret in HMAC key (optional) to get HMAC-SHA-384 instead of a plain hash.
  5. Read the Input size line to confirm how many bytes were hashed, then copy the digest.

What it does and when to use it

The most common reason to need SHA-384 today is Subresource Integrity. When a page loads a script or stylesheet from a CDN, an integrity="sha384-…" attribute tells the browser to refuse the file if even one byte has changed. SHA-384 is the size most CDNs and SRI generators use by default. You will also meet SHA-384 in TLS cipher suite names, in code-signing, and in some government systems that require a digest longer than 256 bits.

To compare an SRI value from a vendor with your own, paste both into the hash comparator. For a shorter digest use the SHA-256 generator, and for the full 512 bits the SHA-512 generator.

How it works

Your input becomes bytes (UTF-8 for text), and the hash-wasm library computes SHA-384 as specified in FIPS 180-4, running as WebAssembly in your browser. Internally it is the SHA-512 machine: 1,024-bit blocks, 80 rounds, eight 64-bit words of state. It starts from its own eight initial values and outputs only the first six words, which is 384 bits. The Base64 option encodes those 48 bytes as exactly 64 characters with no padding. With an HMAC key, the hash is wrapped as described in RFC 2104.

Worked examples

Hex test vector. abc hashes to cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7, the value given for SHA-384 in the standard’s examples.

The same digest for SRI. With Output set to Base64, abc gives ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn. A file containing exactly abc would therefore use integrity="sha384-ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn".

HMAC-SHA384. Message what do ya want for nothing? and key Jefe produce af45d2e3764840…cfab21649, matching RFC 4231 test case 2.

Limits and tips

  • The text box hashes text as UTF-8. That is right for JavaScript and CSS files, but binary files such as fonts or images must be hashed as bytes, not pasted.
  • The file hash calculator does not offer SHA-384, so for a large text file, paste its contents here or use openssl dgst -sha384 -binary file | openssl base64 -A on the command line.
  • Upper and lower case matter in Base64. Copy it exactly.

Frequently asked questions

How do I write an SRI integrity attribute?
Set Output to Base64 and put sha384- in front of the result, for example integrity="sha384-ywB1P0Wj…" on the script or link tag. Add crossorigin="anonymous" when the file comes from another site.
Why does the browser reject my SRI hash?
The hash must cover the exact bytes the server sends. A missing final newline, a different minified build, or line endings changed by Git will all break it. Hash the deployed file, not your source copy.
How is SHA-384 related to SHA-512?
It runs the SHA-512 algorithm with different starting values and keeps only the first 384 bits of the result. So it is not simply a shortened SHA-512 of the same input.
Is SHA-384 safe to use?
Yes, for integrity checks, signatures and HMAC. Because the output is truncated, it also resists the length-extension trick that affects plain SHA-256 and SHA-512. It is not a password hash, though; use a slow, salted method such as bcrypt for that.

Sources

  1. FIPS 180-4, Secure Hash Standard (SHS) — NIST, accessed 2026-10-07
  2. Subresource Integrity — W3C, accessed 2026-10-07
  3. RFC 4231, HMAC-SHA identifiers and test vectors — IETF, accessed 2026-10-07

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close