PKZIP (Uncompressed) Hash

Technical details, regex signatures, and cracking commands for the PKZIP (Uncompressed) algorithm.

Regex Identification Signature:
^\$pkzip2?\$(1)\*[0-9]{1}\*[0-9]{1}\*[0-9a-f]{1,8}\*[0-9a-f]{1,8}\*[0-9a-f]{1,8}\*[0-9a-f]{1,8}\*[0-9a-f]{1,8}\*[0-9a-f]{1,8}\*(0)\*[0-9a-f]{1,8}(\*[0-9a-f]{1,8})?\*[0-9a-f]{1,8}\*[a-f0-9]+\*\$\/pkzip2?\$$
Hashcat Command (Mode: 17210):
John the Ripper Command:
← Back to Hash Identifier

What is PKZIP (Uncompressed)?

The **PKZIP (Uncompressed) hash format** originates from the early 1990s as part of the PKZIP archive utility developed by Phil Katz (later acquired by WinZip). This format was designed as a lightweight, non-cryptographic checksum mechanism to verify file integrity within compressed archives, particularly ZIP files. Structurally, it employs a simple **32-bit CRC-32 (Cyclic Redundancy Check)** algorithm, where the input file is processed in fixed-size chunks (typically 1KB) and iteratively updated via polynomial division in GF(2)¹⁸⁴⁴³³¹⁵. Unlike cryptographic hashes, PKZIP’s CRC-32 was never intended for security—its primary use-case was error detection in data transmission or storage, where collision probability (1/2³² per file) was deemed acceptable for non-critical applications. The format’s simplicity and lack of iterative hashing (e.g., no keyed operations or salting) made it unsuitable for password protection, leading to its eventual replacement by stronger alternatives like AES-256 in modern ZIP encryption standards.

The PKZIP (Uncompressed) format is inherently vulnerable to cracking due to its fundamental design flaws. The **32-bit CRC-32 lacks cryptographic properties**, enabling efficient brute-force attacks via **GPU/ASIC acceleration**—modern hardware can evaluate millions of hashes per second, reducing the theoretical 4.3 billion possible values to practical recovery in seconds for short passwords. The absence of **salting or key stretching** means rainbow tables or precomputed dictionaries can preemptively crack weak passwords, as the same hash output is produced for identical inputs regardless of context. Additionally, **collision resistance is negligible**; the birthday paradox guarantees a 50% collision probability after ~1.2×10⁹ hashes, making it trivial to find two distinct inputs yielding the same CRC-32. Finally, the **deterministic nature** of CRC-32 allows offline attacks, as adversaries can exploit known-plaintext scenarios or exploit weak entropy in password generation (e.g., dictionary words). These weaknesses render PKZIP’s "uncompressed" hashes obsolete for security, despite their historical role in data integrity.

Identifying PKZIP (Uncompressed) 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 PKZIP (Uncompressed), security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack PKZIP (Uncompressed)

If you need to recover the plaintext password for a PKZIP (Uncompressed) 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.