Tooleux

SHAKE128 File

SHAKE (4)

Compute the SHAKE128 (extendable-output function) hash of any file at 256-bit output.

Runs in your browser. Nothing leaves your device.
Calculate the SHAKE128 hash of a file at 256-bit output. Free, offline, runs entirely in your browser. Read more Show less

What is SHAKE128 file hashing?

SHAKE128 is an extendable-output function (XOF) from the SHA-3 family, standardized in FIPS 202. Unlike fixed-output hashes, SHAKE128 can produce any number of bits. This tool outputs 256 bits (32 bytes), shown as 64 hexadecimal characters - the standard length used by most libraries.

Because SHAKE128 is an XOF, its output length is a parameter, not a property. Different tools that produce different lengths will produce completely different hashes for the same file. Always specify the length when comparing checksums.

How to use

Drag, click, or paste a file. The tool streams the file in chunks and computes SHAKE128 as it reads. It also accepts a URL; the server must allow cross-origin requests.

Extendable output

The output of SHAKE128 is 256 bits. That is the length used by OpenSSL, Python's hashlib, and the NIST reference implementation when a fixed-length output is needed. If your protocol specifies a different length, use a native library to compute it - the hash of the same file is different for every output length.

FAQ

Are files uploaded?

No. Everything runs locally in your browser. Files are streamed in chunks and never sent anywhere.

Why is my checksum different from the vendor's?

Confirm you have the exact same file. A re-download that includes any trailer or redirect can produce a different hash. Read the file in binary mode; text modes can alter line endings.

How large a file can I hash?

Any size your browser can open. Files are streamed in chunks, so memory use stays flat regardless of file size.

Can I verify a signed download with this?

It verifies the file matches the checksum you were given. The security of the verification depends on where the checksum came from: HTTPS from the vendor is far better than a checksum posted in a forum.

Command line equivalent
# OpenSSL 3.x (specify output length with -xoflen)
openssl dgst -shake128 -xoflen 32 myfile.bin

# Python
python3 -c 'import hashlib; print(hashlib.shake_128(open("myfile.bin","rb").read()).hexdigest(32))'