{
  "slug": "hmac-generate",
  "name": "gizza-ai/hmac-generate",
  "version": "0.1.0",
  "title": "HMAC Generator — HMAC-SHA256, SHA-1, SHA-512, SHA-3, MD5 — gizza.ai",
  "description": "Generate an HMAC of any message and secret key in your browser — HMAC-SHA256, SHA-1, SHA-512, SHA-3 or MD5, hex or base64 output. Free and private.",
  "tags": [
    "hmac",
    "hmac-sha256",
    "sha256",
    "sha1",
    "sha512",
    "sha3",
    "md5",
    "mac",
    "keyed-hash",
    "signature",
    "webhook",
    "hex",
    "base64",
    "cryptography"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/hmac-generate/",
    "markdown": "https://gizza.ai/tools/hmac-generate/index.md",
    "descriptor": "https://gizza.ai/tools/hmac-generate/tool.json",
    "deep_link_example": "https://gizza.ai/tools/hmac-generate/?message=The%20data%20to%20authenticate&key=Your%20secret%20key&algorithm=sha256&message_encoding=text&key_encoding=text&output_format=hex&uppercase=true"
  },
  "cli": "gizza tool hmac-generate \"The data to authenticate\" 'key=Your secret key'",
  "tool": {
    "description": "Compute a keyed-hash message authentication code (HMAC) of a message with a secret key and a selectable underlying hash. Supports HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256 (default), HMAC-SHA384, HMAC-SHA512, HMAC-SHA3-256 and HMAC-SHA3-512. By default the message and key are read as UTF-8 text and the tag is returned as lowercase hex; set message_encoding/key_encoding to 'hex' or 'base64' to decode binary inputs first, output_format='base64' for a base64 tag, or uppercase=true for uppercase hex. Use this to sign API requests, verify webhook signatures (e.g. Stripe/GitHub), or derive a key-bound integrity tag. For an UNKEYED hash (no secret key) use the hash-text tool instead.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "algorithm": {
          "default": "sha256",
          "enum": [
            "md5",
            "sha1",
            "sha224",
            "sha256",
            "sha384",
            "sha512",
            "sha3-256",
            "sha3-512"
          ],
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "key_encoding": {
          "default": "text",
          "enum": [
            "text",
            "hex",
            "base64"
          ],
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "message_encoding": {
          "default": "text",
          "enum": [
            "text",
            "hex",
            "base64"
          ],
          "type": "string"
        },
        "output_format": {
          "default": "hex",
          "enum": [
            "hex",
            "base64"
          ],
          "type": "string"
        },
        "uppercase": {
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "message",
        "key"
      ],
      "type": "object"
    }
  }
}