Telegram Desktop >= 2.1.14-beta / 2.2.0 Hash

Technical details, regex signatures, and cracking commands for the Telegram Desktop >= 2.1.14-beta / 2.2.0 algorithm.

Regex Identification Signature:
^\\$telegram\\$2\\*100000\\*[a-f0-9]{64}\\*[a-f0-9]{576}$
Not supported natively by Hashcat
John the Ripper Command:
← Back to Hash Identifier

What is Telegram Desktop >= 2.1.14-beta / 2.2.0?

The cryptographic hash format employed in Telegram Desktop versions 2.1.14-beta and 2.2.0 is a modified variant of the **SHA-256** algorithm, integrated into a proprietary key derivation and verification pipeline designed for lightweight client-server authentication. This structure leverages a **chained hashing mechanism** where the client’s secret key (derived from the user’s password and a server-provided salt) is iteratively hashed alongside a dynamic nonce and timestamp to generate a **session-specific verification token**. The format adheres to a **preimage-resistant** design, where the output is a 256-bit hash (hex-encoded as a 64-character string) used to authenticate API requests. Unlike traditional HMAC-SHA256 schemes, Telegram’s implementation embeds the nonce and timestamp directly into the hashing process, ensuring temporal validity while maintaining compatibility with the platform’s stateless protocol. This approach prioritizes **performance over collision resistance**, as the primary use-case—preventing replay attacks and session hijacking—relies on computational infeasibility rather than cryptographic uniqueness.

The vulnerability of this format stems from its **lack of salt iteration hardening** and susceptibility to **GPU-accelerated brute-force attacks**. The absence of a per-user salt in the initial key derivation (relying instead on a server-assigned nonce) reduces the hash’s resistance to rainbow table attacks, though the dynamic nonce mitigates some replay risks. More critically, the **SHA-256 iteration count is fixed and minimal**, making it vulnerable to **optimized GPU cracking** via tools like Hashcat or custom CUDA kernels. The format’s reliance on **plaintext nonce-timestamp concatenation** (without key stretching) allows attackers to precompute hashes for common payloads, exploiting parallel processing to crack weak passwords within hours. Additionally, the **predictable structure** of the hash input (nonces often reused across sessions) enables **dictionary attacks** when combined with leaked client-side logs, further compromising the system’s security assumptions.

Identifying Telegram Desktop >= 2.1.14-beta / 2.2.0 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 Telegram Desktop >= 2.1.14-beta / 2.2.0, security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack Telegram Desktop >= 2.1.14-beta / 2.2.0

If you need to recover the plaintext password for a Telegram Desktop >= 2.1.14-beta / 2.2.0 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.