cSHAKE128

Calculate a customizable, variable-length cSHAKE128 digest from text with function-name and customization parameters. Read more

What is cSHAKE128?

cSHAKE128 is the customizable SHAKE128 extendable-output function defined in NIST SP 800-185. In addition to the message and output length, it accepts a function name and a customization string for domain separation. When both are empty, cSHAKE128 produces the same output as SHAKE128.

How to use this hash calculator

Enter the text and choose its input encoding. Set the output length, Function Name, and Customization values, including the encoding used for each parameter. The function name is intended for formally defined functions; for application-specific separation, normally leave it empty and put a stable protocol or application label in Customization.

Result example

With both optional strings empty, UTF-8 abc and a 256-bit output produce 5881092dd818bf5cf8a3ddb793fbcba74097d5c526a6d35f97b83351940f2cc8 in Hex. Changing Customization changes the output without changing the message.

Important limitations

cSHAKE128 is unkeyed, so domain separation does not provide authentication. Use KMAC128 when a secret key and message authentication are required. Do not improvise a password-storage scheme with cSHAKE; use a dedicated password-hashing function.

Frequently asked questions

Why does my result differ from another tool?

Check the message bytes, output length, and the exact Function Name and Customization bytes. An empty string is different from a value containing a space.

Can I use the result to verify data?

Yes, if every parameter is defined by the protocol and the expected value is trusted. For raw file bytes, use cSHAKE128 File Hash.

Input
Output
Share Link
Settings
Function Name
Customization