Give this API any text or binary data and it returns its fingerprint under which
Give this API any text or binary data and it returns its fingerprint under whichever hash algorithms you choose - SHA-256, SHA-512, MD5, BLAKE2, CRC32 and more. It also signs data with a secret key (HMAC) and safely verifies whether an incoming signature matches, using a timing-safe comparison. Language models cannot hash: they emit a string of the right length and character set that is simply wrong, so every webhook check built on a guessed hash is silently broken.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
893 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://hash-hmac.underscoredone.com/hash
| Category | Everything else |
|---|---|
| Provider host | hash-hmac.underscoredone.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 3 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.01 | 893 ms |
Example input (from the provider)
{
"body": {
"algorithms": [
"sha256",
"sha512",
"crc32"
],
"hmac": {
"algorithm": "sha256",
"expected_signature": "edddd7a6a42a411ab35b993d690cc7bd5d3be3d9262f66fef16ac2be10e0539a",
"key": "whsec_test_secret_key_123",
"mode": "verify"
},
"input": "{\"order_id\":\"A-1029\",\"amount\":4200}",
"input_encoding": "utf-8",
"output_encoding": "hex"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"algorithms": {
"description": "Which fingerprint methods to use. Choose any of: md5, sha1, sha224, sha256, sha384, sha512, sha3_256, sha3_512, blake2b, blake2s, crc32, adler32. You may list several at once.",
"type": "array"
},
"hmac": {
"description": "Optional. Include this block to sign data or verify a signature. Contains: mode ('sign' or 'verify'), algorithm (md5, sha1, sha256, or sha512), key (your full secret key as a string), and expected_signature (only needed when mode is 'verify').",
"type": "object"
},
"input": {
"description": "The text or data you want to hash. For binary data, base64-encode it first and set input_encoding to 'base64'.",
"type": "string"
},
"input_encoding": {
"description": "How the input is encoded. Use 'utf-8' for normal text (default) or 'base64' for binary data.",
"type": "string"
},
"output_encoding": {
"description": "How to display the resulting fingerprints. Choose 'hex' (default, lowercase letters and numbers), 'base64', or 'base64url' (safe for URLs).",
"type": "string"
}
},
"required": [
"input",
"algorithms"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"api_version": {
"type": "string"
},
"digests": {
"additionalProperties": true,
"type": "object"
},
"hmac": {
"additionalProperties": true,
"type": "object"
},
"input_bytes": {
"type": "integer"
}
},
"required": [
"api_version",
"input_bytes",
"digests",
"hmac"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}