{
  "slug": "rolling-hash",
  "term": "Rolling hash",
  "aliases": [
    "rolling fingerprint"
  ],
  "definition": "A rolling hash updates a fingerprint incrementally as the input window or stream advances, instead of recomputing it over the entire input each time.",
  "note": "Restic's chunker uses Rabin fingerprints for boundary selection. Such a boundary fingerprint is not a cryptographic identifier of the complete chunk; content identity needs a separate check. [restic-chunker]",
  "related": [
    "content-defined-chunking",
    "fastcdc",
    "deduplication"
  ],
  "citations": [
    {
      "id": "restic-chunker",
      "title": "Restic project. Chunker: Rabin-based content-defined chunking implementation and explanation.",
      "url": "https://github.com/restic/chunker",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-cdc",
      "title": "Content-defined chunking: boundaries are not identity",
      "url": "https://hesela.com/analyses/content-defined-chunking-boundaries/",
      "accessed": "2026-10-12"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12"
}
