ParallelHash128
Calculate ParallelHash128 digests from text, local files, or URLs with selectable block size, output length, and customization string. Read more
What is ParallelHash128?
ParallelHash128 is a SHA-3-derived hash function designed to hash long messages by splitting them into fixed-size byte blocks. It is based on cSHAKE128 and standardized in NIST SP 800-185. This calculator reads text, a local file, or a file URL and returns the requested output length in the selected encoding. Identical input bytes, block size, customization string, and output length produce the same value.
How to use this hash calculator
Choose Text, Local File, or File URL as the source. For text, select the input encoding. Set Block Size (B) as a byte count, the output length, and an optional Customization string for domain separation. Use Hex when comparing technical test vectors, or Base64 when a compact text representation is more convenient.
Result example
With UTF-8 abc, block size 8 bytes, empty customization, and a 256-bit output, ParallelHash128 is 10e25248a5b5ef8cfbbcb0f9d14c7e1786d0a3a2304197fbd1351617dc7e74a8 in Hex. Changing the block size or customization changes the digest without changing the message.
Important limitations
ParallelHash is unkeyed, so a customization string provides domain separation rather than authentication. Use KMAC128 when a secret key and message authentication are required. Different block sizes produce unrelated digests for the same message. This browser implementation processes blocks sequentially; the ParallelHash construction still allows parallel implementations elsewhere.
Use ParallelHashXOF128 when the application requires the extendable-output form rather than committing the requested length inside the ordinary ParallelHash computation.
Frequently asked questions
Why does my result differ from another tool?
Check the exact input bytes, Block Size (B) in bytes, customization string, and output length. ParallelHash128 and ParallelHashXOF128 encode output length differently and are not interchangeable.
Can I use the result to verify data?
Yes, if every parameter is defined by the protocol and the expected value is trusted. Matching an untrusted digest copied from the same location does not establish authenticity.