SHA-384 Hash Calculator
Calculate and verify SHA-384 hashes from text, files, Hex, or Base64 input. SHA-384 produces a 384-bit (48-byte) hash value, represented by 96 hexadecimal characters. Everything is calculated locally in your browser.
Drag and drop a file here or click to select
What is SHA-384?
SHA-384 is a cryptographic hash function in the SHA-2 family. It converts input data into a fixed-length 384-bit hash, commonly represented as 96 hexadecimal characters. SHA-384 uses the SHA-512 compression function with different initial values and a truncated output.
The same input always produces the same hash. Even a small change in the input will usually produce a substantially different result. This makes SHA-384 useful for data integrity verification and digital signatures. SHA-384 is a one-way function: it is not designed to recover the original data from a hash.
How long is a SHA-384 hash?
A SHA-384 hash is 384 bits (48 bytes) long, or 96 hexadecimal characters. SHA-384 processes input in 1024-bit blocks and uses 80 rounds of compression per block.
Where is SHA-384 used?
- TLS and certificates: SHA-384 is used in TLS cipher suites such as
TLS_AES_256_GCM_SHA384and in some digital-signature configurations. - High-assurance systems: SHA-384 is specified in security profiles requiring stronger hash collision resistance.
- JSON Web Tokens (JWT): Algorithms including
HS384,RS384, andES384use SHA-384. - Integrity checks: SHA-384 can verify data against a trusted checksum and is supported by Subresource Integrity (SRI) in web browsers.
SHA-384 vs SHA-256 and SHA-512
SHA-384 provides approximately 192-bit collision resistance, compared with 128-bit collision resistance for SHA-256.
SHA-384 uses the same compression function as SHA-512 but has different initial values and a shorter output. Performance depends on the device and implementation; on some 64-bit systems, SHA-384 and SHA-512 can outperform SHA-256.
SHA-384's truncated internal state also makes the usual length-extension attack against a complete Merkle–Damgård hash output impractical. For message authentication, use HMAC rather than relying on a plain hash.
Is SHA-384 secure?
SHA-384 remains suitable for modern cryptographic applications, with no known practical collision or preimage attacks against the full algorithm.
However, SHA-384 should not be used alone for password storage. Use a dedicated password-hashing algorithm such as Argon2id, scrypt, or bcrypt.
How to use this calculator
- Type or paste text into the Input text field. The SHA-384 hash updates as you type.
- To hash raw bytes instead of text, change Input type to Hex or Base64.
- To hash a file, drag it into the file drop zone or click the zone to choose a file.
- Select Copy SHA-384 hash to copy the 96-character hexadecimal result. Uppercase output and Base64 output change the format.
- To compare with a published checksum, turn on Verify hash and paste the expected SHA-384 hash.
Text is encoded as UTF-8 before hashing. Hashes are calculated locally in your browser, and your input is not saved.
Verifying a download
- Drop the downloaded file into the file drop zone.
- Turn on the Verify hash switch below the SHA-384 hash.
- Paste the SHA-384 checksum published by the provider into Expected hash. Upper or lower case, spaces, and whole lines from a checksum file such as
<hash> file.isoare accepted. - A green ✅ Hashes match message confirms the file matches the published hash. A red ❌ Hashes do not match means the file differs from the published one, so download it again from the official source.
Security note: Always obtain the expected checksum from a trusted source. A matching hash does not prove that a downloaded file is safe or authentic if the checksum itself has been compromised.
SHA-384 test example
Use these values to check this calculator or any other SHA-384 tool. Select Try to load an example into the calculator above.
| Input | Input type | SHA-384 hash | Try |
|---|---|---|---|
hello | Text | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f | |
68656c6c6f | Hex | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f | |
aGVsbG8= | Base64 | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f | |
Hello | Text | 3519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc | |
hello followed by Enter | Text | 1d0f284efe3edea4b9ca3bd514fa134b17eae361ccc7a1eefeff801b9bd6604e01f21f6bf249ef030599f0c218f2ba8c | |
hello 😀 | Text | 287cab86d7e7dea84ea02da75b39b9cf4258e7a515c5d02b5d0693d73a88dbfda4999e445e70cdbead2763cc6e5c03f5 | |
68656c6c6f20f09f9880 | Hex | 287cab86d7e7dea84ea02da75b39b9cf4258e7a515c5d02b5d0693d73a88dbfda4999e445e70cdbead2763cc6e5c03f5 |
The first three rows are the same five bytes written as text, Hex, and Base64, so they produce the same hash. A single uppercase letter or a trailing newline produces a completely different hash. The last two rows show the UTF-8 conversion: the 😀 emoji is 4 bytes (f0 9f 98 80).
Calculate SHA-384 in the command line
SHA-384 checksums can be calculated using built-in tools on Linux, macOS, and Windows. For text input, hello without a trailing newline produces the SHA-384 hash 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f.
Linux
# Hash a file
sha384sum file.iso
# Check files against a published checksum file
sha384sum -c SHA384SUMS --ignore-missing
# Hash text without a trailing newline
printf 'hello' | sha384sum
macOS
# Hash a file
shasum -a 384 file.iso
# Check files against a published checksum file
shasum -a 384 -c SHA384SUMS
# Hash text without a trailing newline
printf 'hello' | shasum -a 384
Windows
# PowerShell
Get-FileHash file.iso -Algorithm SHA384
# Command Prompt
certutil -hashfile file.iso SHA384
PowerShell prints the hash in uppercase. Hex hashes are not case-sensitive, so you can paste it into Verify hash as it is.
Python
import hashlib
# Text
print(hashlib.sha384('hello'.encode('utf-8')).hexdigest())
# File (Python 3.11+)
with open('file.iso', 'rb') as f:
print(hashlib.file_digest(f, 'sha384').hexdigest())
Frequently asked questions
Can SHA-384 be reversed?
No. SHA-384 is a one-way hash function, so the original input cannot feasibly be calculated from the hash alone. However, common or predictable inputs can still be discovered by guessing possible values and comparing their hashes.
Is SHA-384 the same as a truncated SHA-512 hash?
No. SHA-384 uses the same compression function as SHA-512 but starts from different initial values. Taking the first 96 hexadecimal characters of a SHA-512 hash does not produce the SHA-384 hash of the same input.
How do I create a Subresource Integrity (SRI) hash with SHA-384?
Drop the script or stylesheet file into the calculator and turn on Base64 output. Add the prefix sha384- to the result and use it in the integrity attribute, for example integrity="sha384-…". With OpenSSL, run openssl dgst -sha384 -binary file.js | openssl base64 -A.
Related tools
- SHA-224 hash calculator — Generate 224-bit SHA-2 hashes displayed as 56 hexadecimal characters.
- SHA-256 hash calculator — Generate 256-bit SHA-2 hashes displayed as 64 hexadecimal characters.
- SHA-1 hash calculator — Generate SHA-1 hashes for legacy compatibility and comparison.
- MD5 hash calculator — Generate MD5 hashes for non-security applications and legacy compatibility.
Last updated: