SHAKE-128 Hash Generator

Generate SHAKE-128 variable-length digests locally from UTF-8 text with whole-byte output sizing.



Question

What is SHAKE-128?

SHAKE-128 is one of the two extendable-output functions standardized with SHA-3 in NIST FIPS 202. Unlike fixed-length SHA3-256 or SHA3-512 hashes, SHAKE128 accepts an input message and a requested output length, then squeezes that many output bits from the Keccak sponge construction. This page encodes the input text as UTF-8, applies SHAKE128, and displays the result as uppercase hexadecimal.

The output length option controls the requested digest length. The default is 256 bits, which produces 32 bytes or 64 hexadecimal characters. This tool accepts whole-byte lengths from 8 to 65,536 bits. Longer outputs extend the same SHAKE stream; they are not independent hashes of the same input.

SHAKE-128 is appropriate when you need deterministic variable-length digest output, such as comparing known test vectors, generating non-secret identifiers, deriving masks inside a protocol that explicitly specifies SHAKE128, or exploring SHA-3 XOF behavior. For general file integrity, a fixed-length SHA-2 or SHA-3 hash may be easier to interoperate with. For passwords, use a password hashing function such as Argon2, bcrypt, scrypt, or PBKDF2. For authentication or domain-separated key derivation, use a keyed and purpose-specific construction rather than reusing a plain SHAKE128 digest for multiple roles.

FIPS 202 specifies SHAKE128 with a 1344-bit rate, 256-bit capacity, the Keccak-p[1600, 24] permutation, and the SHAKE domain-separation suffix. Its security strength is bounded by both the requested output length and the 128-bit strength of the SHAKE128 instance, so very short outputs can be brute-forced or collide more easily than longer outputs.