MediaWiki Hash

Technical details, regex signatures, and cracking commands for the MediaWiki algorithm.

Regex Identification Signature:
^[:\$][AB][:\$]([a-f0-9]{1,8}[:\$])?[a-f0-9]{32}$
Hashcat Command (Mode: 3711):
John the Ripper Command:
← Back to Hash Identifier

What is MediaWiki?

MediaWiki’s cryptographic hash format, originally introduced in the early 2000s as part of the MediaWiki software suite for wiki page versioning, is a lightweight, non-cryptographic hash scheme designed for efficient content fingerprinting rather than security. Structurally, it employs a **32-bit CRC-32C (Castagnoli) polynomial algorithm** (specifically, `0x82F644C3` as the generator polynomial) to produce a fixed-length 32-bit (4-byte) checksum, typically represented as a hexadecimal string (e.g., `a1b2c3d4`). Unlike cryptographic hashes like SHA-256, this format prioritizes **speed and storage efficiency** over collision resistance, making it unsuitable for authentication or integrity verification in high-security contexts. Its primary use-case lies in **version control of wiki pages**, where detecting minor edits (e.g., whitespace changes) requires a fast, deterministic hash to minimize computational overhead during page saves and diffs. The format also includes a **1-byte "type" field** (e.g., `0x00` for content hashes) and a **1-byte "length" field** (stored as little-endian) to encode the original content’s byte length, enabling MediaWiki to reconstruct hashes without reprocessing the full payload—a feature critical for performance in large-scale collaborative editing environments.

The MediaWiki hash format is fundamentally vulnerable to cracking due to its **inherent lack of cryptographic properties**, beginning with its reliance on a **non-cryptographic checksum algorithm** (CRC-32C), which was never designed to resist adversarial attacks. The 32-bit output space enables **brute-force collisions** with negligible computational effort, as the birthday paradox guarantees a ~50% collision probability after ~2³¹ operations (~4.3 billion hashes). Worse, the absence of **salting or peppering** means identical plaintexts (e.g., repeated wiki templates) produce identical hashes, trivializing **rainbow table attacks** for pattern-based content. Modern hardware optimizations—such as **GPU-accelerated CRC-32C computation** (e.g., via OpenCL or CUDA) or **SIMD vectorization** (e.g., AVX-512)—further exacerbate vulnerabilities by reducing the time complexity of collision searches from O(n²) to near-linear for large datasets. Additionally, the format’s **deterministic nature** allows attackers to precompute hash tables for common wiki patterns (e.g., boilerplate code, boilerplate code), enabling **dictionary attacks** to reverse-engineer content from hashes with high efficiency. Even basic **side-channel analysis** (e.g., timing attacks on hash computation) could theoretically leak metadata, though this remains unproven in practice.

Identifying MediaWiki Hashes

Identifying a hash blindly is often difficult because multiple algorithms can output strings of the exact same length. For example, a standard 32-character hexadecimal string could be MD5, NTLM, MD4, or LM. To definitively identify MediaWiki, security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack MediaWiki

If you need to recover the plaintext password for a MediaWiki hash during a penetration test or forensics investigation, you must supply the correct module ID to your cracking software. Use the exact commands provided at the top of this page to target the hash successfully.