SSHA-1(Base64) Hash

Technical details, regex signatures, and cracking commands for the SSHA-1(Base64) algorithm.

Regex Identification Signature:
^{SSHA}[a-z0-9\/+]{38}==$
Hashcat Command (Mode: 111):
John the Ripper Command:
← Back to Hash Identifier

What is SSHA-1(Base64)?

The **SSHA-1(Base64)** format is a cryptographic hash construct derived from the original **SHA-1** (Secure Hash Algorithm 1) hashing function, augmented with a **salted** preimage-resistant design to mitigate rainbow table attacks. Introduced as a security enhancement in protocols like **OpenSSH** (via the `ssh-keygen` tool), it combines a **random salt** (typically 8 bytes) with the password hash in a structured format: `SSHA-1:`, where the salt is encoded in Base64 for transportability. This format ensures that even if multiple users share identical passwords, their stored hashes differ due to unique salts, thwarting brute-force dictionary attacks. The primary use-case lies in password authentication systems, particularly in SSH key generation (`ssh-rsa` or `ssh-dss` key types), where it balances legacy compatibility with modest security improvements over plain SHA-1.

However, **SSHA-1(Base64)** remains critically vulnerable due to SHA-1’s inherent flaws and implementation oversights. SHA-1’s **80-bit security strength** is now considered broken, with practical collision attacks feasible (e.g., via FasterSHA-1) and preimage resistance compromised by GPU/ASIC optimizations (e.g., **Hashcat** or **John the Ripper** with **CUDA/OpenCL**). The salt, while mitigating rainbow tables, is often **too short** (8 bytes) and **not iterated**, leaving it susceptible to **plaintext recovery via brute force** at ~10¹⁸–10¹⁹ attempts for 6-character passwords. Additionally, **GPU-accelerated cracking tools** exploit SHA-1’s parallelizable nature, rendering SSHA-1 impractical for modern security standards. The Base64 encoding adds no cryptographic value but merely obfuscates the salt, further obscuring attack vectors.

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

How to Crack SSHA-1(Base64)

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