TupleHash128
Calculate TupleHash128 digests from one value or ordered line-separated elements with selectable encoding, output length, and customization. Expand to read more.
What is TupleHash128?
TupleHash128 is a SHA-3-derived variable-length hash function designed to hash ordered tuples of input strings unambiguously. It is based on cSHAKE128. This calculator reads text as a single tuple element or as multiple elements separated by lines, then returns a configurable-length digest in the selected output encoding. Identical elements and options produce the same value.
How to use this hash calculator
Choose Single value to hash the whole textarea as one element, or Multiple values (one per line) to treat each line as its own element. Select the input encoding, digest format, and customization string, then calculate the hash. Use Hex when comparing technical test vectors, or Base64 when a compact text representation is more convenient.
Result example
NIST sample vectors often use multiple binary strings as separate tuple elements. Switch to line mode and enter one Hex string per line. Concatenating those strings into one element will not match the sample, because TupleHash encodes the length of every element.
Important limitations
A hash is not encryption and cannot be reversed to recover the input. Element order matters. In line mode, each line is one element, including empty lines created by consecutive or trailing newlines. An element cannot itself contain a line break in this mode because line breaks define tuple boundaries; use Single value when the complete text, including line breaks, must be one element.
TupleHash is specified in NIST SP 800-185. Use TupleHashXOF128 when the application requires the extendable-output form rather than committing the requested length inside the ordinary TupleHash computation.
Frequently asked questions
Why does my result differ from another tool?
Check the input mode, every element’s bytes and encoding, the element order, customization string, and output length. A single combined string is not equivalent to multiple tuple elements.
Can I use the result to verify data?
Yes, if you compare it with a trusted TupleHash128 value supplied independently for the same elements and parameters. Matching an untrusted digest copied from the same location does not establish authenticity.