These results are for reference only and were developed for educational and testing purposes. You can also directly access and review the source code, including the logic and free APIs used on this page.
Explore the guide
Custom encodings Variable output length Browser based testing SHA-3 family XOF
How to Use the SHAKE-128 Hash Generator
1. Enter input text
Type or paste the text you want to hash into the input textarea. This can include messages, code snippets, or any data requiring integrity verification.
2. Select the input encoding
Choose UTF-8, HEX, or Base64 based on your source value. The selected format must match the actual input to avoid parsing errors.
3. Configure the output settings
Choose HEX or Base64 for the output and set the output bit length. The output bit value should be a multiple of 8.
4. Generate the hash
Press Generate SHAKE-128 Hash to compute the result using the selected input and output options.
5. Review the result
The output hash and selected configuration appear in the result box so you can verify exactly how the tool was used.
6. Adjust HEX output case
If the output encoding is HEX, you can switch the result to upper case or lower case with one click.
Detailed guide▶
This section explains how the SHAKE-128 tool works, what each option changes, and how variable length output can be useful for testing and learning on both desktop and mobile.
SHAKE-128 Hash Generator
How to use the SHAKE-128 hash generator
Follow these steps to generate a SHAKE-128 hash for your text:
Enter Input Text: Type or paste the text you want to hash into the input textarea. This can include messages, code snippets, or any data requiring integrity verification.
Select Input Encoding: Choose the encoding format of your input text, such as UTF-8, HEX, or Base64. Ensure the input matches the selected format to prevent processing errors.
Configure Hash Settings:
Output Encoding: Select HEX or Base64 for the final hash value.
Output Bits: Specify the desired output length in bits. The value must be a multiple of 8.
Generate Hash: Click the Generate SHAKE-128 Hash button to compute the hash based on your input and settings.
Review Results: The output hash and configuration details appear in the results section. Use the copy icon to copy values or the expand icon to enlarge the textareas for better visibility.
Case Conversion: If the output encoding is HEX, use the case buttons to normalize the result.
A practical starting point for testing is UTF-8 input, HEX output, and 256 output bits.
Understanding SHAKE-128 hashing
SHAKE-128 is a member of the SHA-3 family based on the Keccak sponge construction. Unlike fixed length hash functions, SHAKE-128 is an extendable-output function that lets you choose how many output bits to generate.
Sponge construction mechanism
SHAKE-128 operates as a sponge function, absorbing input data into an internal state and then squeezing out as many output bits as needed.
It uses a capacity that provides 128 bit collision security and allows flexible output sizes for different applications.
The sponge design makes SHAKE-128 highly adaptable compared with fixed length hash algorithms.
The algorithm applies repeated permutations to the internal state to achieve strong mixing and diffusion.
Variable output length
Unlike SHA-256 or SHA-512, SHAKE-128 lets you choose the output size in multiples of 8 bits.
This flexibility supports short tags, standard length digests, or much longer pseudorandom outputs.
Longer outputs can be useful in workflows that need more bytes from a single hashing process.
One-way function
SHAKE-128 is designed as a one-way cryptographic function, which means the output should not reveal the original input.
This property makes it useful for integrity checks, key derivation related constructions, and other cryptographic building blocks.
The underlying permutations make practical reversal infeasible in normal use cases.
Extendable-output function
SHAKE-128 is an XOF, so additional output can be generated from the same absorbed input state.
This is especially useful for generating variable length cryptographic material or deterministic pseudorandom bytes.
The XOF model is one of the core differences between SHAKE functions and classic fixed output hashes.
Performance
SHAKE-128 is efficient in both software and hardware implementations.
Its performance characteristics make it practical for modern browsers and many embedded scenarios.
Longer outputs take more work because the tool must keep squeezing additional bytes from the internal state.
Security considerations
SHAKE-128 is designed for strong modern cryptographic use, but security still depends on correct implementation and sensible parameter choices.
Collision resistance
SHAKE-128 provides roughly 128 bit security against collision attacks when used appropriately.
Its sponge construction is designed to resist the kinds of weaknesses that affected older hash families.
Choosing longer output lengths may improve practical robustness for some verification workflows.
Preimage and second preimage resistance
SHAKE-128 is intended to make preimage and second preimage attacks computationally infeasible in ordinary use.
The large internal state and modern design improve security compared with legacy constructions.
It remains important to validate surrounding protocol design, not only the hash itself.
Resistance to length extension attacks
Because SHAKE-128 uses a sponge construction, it is not vulnerable in the same way classic Merkle-Damgård hashes can be vulnerable to length extension attacks.
This property can simplify some protocol designs and make SHAKE-128 attractive for certain applications.
Even so, message authentication should still be designed carefully for the target use case.
Quantum computing resilience
Future quantum attacks may reduce the effective preimage security margin of many hash functions.
SHAKE-128 remains a practical modern choice, and its variable output length gives flexibility for future oriented designs.
For higher security margins, longer outputs or alternative constructions may be considered depending on the application.
Standards compliance
SHAKE-128 is part of the NIST standardized SHA-3 family.
It can be suitable in regulated environments when used inside compliant systems and workflows.
Implementation quality and operational context still matter for real deployments.
A useful experiment is to hash the same message with 128, 256, and 512 output bits to see how an XOF differs from fixed length functions.
Applications of SHAKE-128
SHAKE-128 is a versatile option for systems that need data integrity, flexible output lengths, or pseudorandom byte generation.
Digital signatures and certificates
SHAKE-128 can be used in digital signature related workflows and certificate oriented systems that benefit from flexible digest sizes.
Its output can be tailored to protocol requirements instead of being locked to one digest length.
It also fits well in modern cryptographic designs that rely on SHA-3 family primitives.
Blockchain and cryptocurrencies
Some blockchain or cryptographic protocols use SHA-3 related primitives for transaction validation, compact tags, or hashing utilities.
Variable output length can be useful when a protocol needs a specific number of bytes.
Its sponge based design is also attractive from a protocol hardening perspective.
File integrity verification
SHAKE-128 can generate checksums to verify whether files changed during transfer or storage.
Shorter outputs may be acceptable in lightweight scenarios, while longer outputs can be used for stricter verification needs.
It is useful for testing how variable length digest choices affect downstream systems.
Cryptographic protocols
SHAKE-128 can appear in protocol building blocks such as key derivation related constructions, message validation layers, or deterministic byte generation.
Its XOF property makes it especially practical when a protocol needs more than one fixed size digest.
It can also support application specific security designs that need controlled output length.
Pseudorandom number generation
SHAKE-128 can be used to produce pseudorandom bytes for cryptographic workflows, test vectors, salts, nonces, or deterministic expansion tasks.
The output length can be chosen precisely based on the application requirement.
This makes it useful for controlled experiments and educational demonstrations.
History of SHAKE-128
SHAKE-128 belongs to the SHA-3 family, which was created to provide a strong alternative design to earlier hash standards. Its history reflects the move from traditional Merkle-Damgård hashes to the Keccak sponge approach.
Key milestones
2004: The Keccak design is developed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche.
2006: Keccak is submitted to the NIST SHA-3 competition.
2012: Keccak is selected as the winner of the SHA-3 competition.
2015: NIST standardizes SHA-3, including SHAKE-128, in FIPS 202.
After standardization: SHAKE-128 gains adoption in security protocols, cryptographic research, and flexible hashing workflows.
Why it matters
SHAKE-128 introduced variable length output into a standardized modern hash family.
Its sponge construction offered a different design path from SHA-2.
It expanded the practical toolbox for modern cryptographic protocol designers.
Adoption notes
Adoption was initially slower because SHA-2 remained strong for many routine use cases.
Over time, SHA-3 family functions gained attention in systems that value design diversity and XOF capabilities.
Implementation maturity and developer familiarity have continued to improve.
Advanced configuration tips
For users who want more control, these choices matter most:
Input encoding
Use UTF-8 for ordinary text.
Use HEX only when the source value is actually hexadecimal bytes.
Use Base64 when you are working with encoded binary data in a transport friendly format.
Output length optimization
Choose the smallest output length that still satisfies your test or security requirements.
Use longer output sizes such as 256 or 512 bits when comparing against traditional fixed length digests.
Avoid unnecessarily large outputs if you only need compact verification strings.
Testing and validation
Cross check outputs with trusted tools or libraries when accuracy matters.
Test known examples and compare different output lengths for the same input.
Make tiny input changes to observe the avalanche effect in the resulting output.
Performance awareness
Longer outputs naturally require more work because more bytes must be squeezed from the XOF state.
For browser based testing, moderate output sizes are usually easiest to inspect and compare.
Use very large outputs only when your experiment truly needs them.
Limitations and caveats
Client-Side Processing: Everything runs in the browser and is intended for testing or educational use.
Input Validation Still Matters: Invalid HEX or Base64 input will cause errors or unusable results.
Output Bits Must Be Sensible: The value is rounded to the nearest multiple of 8 and capped to avoid unreasonable output size.
Browser Dependency: The page assumes a modern browser with JavaScript enabled.
Production Caution: Sensitive deployments should rely on audited implementations, operational controls, and clear protocol requirements.
Final tips
Start with UTF-8 input, HEX output, and 256 output bits for simple testing.
Use the correct encoding because the parser depends on it.
Compare HEX and Base64 output to understand display differences without changing the underlying digest bytes.
Use this page for education, experimentation, and quick verification.
Use trusted server side or audited implementations for production security work.
Results are for educational and testing purposes only. Actual outputs may vary based on input accuracy, output length, encoding, or implementation details.
FAQs
Can I choose different output lengths?▶
Yes. SHAKE-128 is an extendable-output function, so you can specify the number of output bits as long as the value is a multiple of 8.
What happens if I choose Base64 output?▶
The digest is converted from HEX bytes into Base64 for display. In this mode, the upper case and lower case buttons are disabled because they are meaningful only for HEX output.
Does the tool validate HEX and Base64 input?▶
Yes. HEX input is checked for valid hexadecimal characters, and Base64 input is validated for proper character set and padding before hashing.
Is this page suitable for sensitive production data?▶
This page is intended for educational and testing purposes. Sensitive production workloads should use audited libraries and well designed operational security practices.
Related tools
Recommended posts
This SHAKE-128 tool is for educational reference, testing, and quick browser experiments.