# Xxh3 128 compute

`xxh3-128-compute` · version 1.0.0 · Hashing & signatures · free, no key needed

Compute the bit-exact XXH3 128-bit hash with a uint64 seed or public 192-byte custom secret.

**Use when you need to: compute XXH3 128-bit hash · hash bytes with seeded XXH3-128 · hash data with a public custom XXH3 secret.**

## Decide before calling

Read the [versioned contract](/v1/tools/xxh3-128-compute/versions/1.0.0) and the supported scope below. Reuse `xxh3-128-compute@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `xxh3-128-compute@1.0.0` for compute XXH3 128-bit hash. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- compute XXH3 128-bit hash
- hash bytes with seeded XXH3-128
- hash data with a public custom XXH3 secret
- reproduce an XXH3-128 content identifier
- calculate a 128-bit XXH3 checksum
- inspect canonical XXH3 hash lanes

## Not supported

- cryptographic hashing or signatures
- streaming state or secret generation

## Behavior

- Implements every XXH3 length path using xxHash v0.8.3 scalar semantics; seed and secret_hex are mutually exclusive.
- hex is high64 then low64, while the two named lanes remove byte-order ambiguity.
- Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity.

## Input

- `text` (string, required): max length 262144
- `input_encoding` (one of "utf8", "hex", "base64", "base64url", optional): default `"utf8"`
- `seed` (string, optional): pattern `^(0|[1-9][0-9]{0,20})$`; default `"0"`
- `secret_hex` (string, optional): pattern `^[0-9a-f]{384}$`

## Output

- `algorithm` (one of "xxh3-128", required)
- `hex` (string, required): pattern `^[0-9a-f]{32}$`
- `low64_hex` (string, required): pattern `^[0-9a-f]{16}$`
- `high64_hex` (string, required): pattern `^[0-9a-f]{16}$`
- `standard` (string, required)
- `reference` (string, required)

## Limits

- max input bytes: 65536
- secret bytes: 192

## Example

Request input:

```json
{
  "text": ""
}
```

Response:

```json
{
  "result": {
    "algorithm": "xxh3-128",
    "hex": "99aa06d3014798d86001c324468d497f",
    "low64_hex": "6001c324468d497f",
    "high64_hex": "99aa06d3014798d8",
    "standard": "xxHash specification and upstream xxHash v0.8.3 sanity vectors",
    "reference": "Cyan4973/xxHash v0.8.3"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "xxh3-128-compute",
  "version": "1.0.0",
  "input": {
    "text": ""
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/xxh3-128-compute/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"text":""}'
```

The machine-readable contract is at [/v1/tools/xxh3-128-compute/versions/1.0.0](/v1/tools/xxh3-128-compute/versions/1.0.0).

### CLI

```sh
node cli.mjs run xxh3-128-compute 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Xxh3 64 compute](/tools/xxh3-64-compute): Compute the bit-exact XXH3 64-bit hash with a uint64 seed or public 192-byte custom secret.
- [Crc parametric compute](/tools/crc-parametric-compute): Compute a CRC using a named catalogue preset (CRC-8, CRC-16/ARC, CRC-32/ISO-HDLC, ...) or an explicit Rocksoft model.
- [Adler-32 combine compute](/tools/adler32-combine-compute): Combine two Adler-32 states without rereading either byte sequence.
- [Crc catalog compute](/tools/crc-catalog-compute): Compute a pinned RevEng CRC of hex bytes, including crossed-endian CRC-12/UMTS.
- [Git object id compute](/tools/git-object-id-compute): Compute the Git object id git itself would give a blob, tree, commit or tag under Git's exact object framing.
- [Parallelhash compute](/tools/parallelhash-compute): Compute fixed-output ParallelHash128 or ParallelHash256 with an explicit bounded block size.
