{
  "slug": "bcrypt-hash",
  "name": "gizza-ai/bcrypt-hash",
  "version": "0.1.0",
  "title": "Bcrypt Hash — bcrypt password hashing & verify — gizza.ai",
  "description": "Hash a password with bcrypt at a chosen cost and get a $2b$ hash string, or verify a password against an existing bcrypt hash — in your browser. Nothing is uploaded.",
  "tags": [
    "bcrypt",
    "password hash",
    "bcrypt generator",
    "bcrypt verify",
    "password hashing",
    "$2b$"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/bcrypt-hash/",
    "markdown": "https://gizza.ai/tools/bcrypt-hash/index.md",
    "descriptor": "https://gizza.ai/tools/bcrypt-hash/tool.json",
    "deep_link_example": "https://gizza.ai/tools/bcrypt-hash/?password=The%20password%20to%20hash%20or%20verify&mode=hash&hash=%242b%2412%24%E2%80%A6&cost=12"
  },
  "cli": "gizza tool bcrypt-hash \"The password to hash or verify\"",
  "tool": {
    "description": "Hash a password with bcrypt (the long-standing adaptive password hash) returning a standard $2b$ modular-crypt string, or verify a password against an existing bcrypt hash. mode=hash (default) uses a configurable cost / work factor (default 12; each +1 doubles the work) and a fresh random salt; mode=verify checks the password against the provided `hash` string (accepts $2a$/$2b$/$2x$/$2y$ variants). Note: bcrypt only hashes the first 72 bytes of a password. Runs locally — the password never leaves the device.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "cost": {
          "description": "Cost / work factor (hash mode; default 12). Each +1 doubles the work.",
          "maximum": 31,
          "minimum": 4,
          "type": "integer"
        },
        "hash": {
          "description": "The bcrypt hash string to verify against (verify mode only).",
          "type": "string"
        },
        "mode": {
          "default": "hash",
          "description": "hash (default) produces a bcrypt hash string; verify checks the password against the `hash` string.",
          "enum": [
            "hash",
            "verify"
          ],
          "type": "string"
        },
        "password": {
          "description": "The password to hash, or to verify.",
          "type": "string"
        }
      },
      "required": [
        "password"
      ],
      "type": "object"
    }
  }
}