Tipos de Hashes | Solyd One
- Tipos de Hashes | Solyd One
🔐 Tabela de formatos de senha (hashes)
| Prefixo/Formato | Tipo de Hash | Usado por | Detalhes |
|---|---|---|---|
SHA512-CRYPT | $6$... | Linux moderno (/etc/shadow) | Seguro, padrão em distros recentes |
SHA256-CRYPT | $5$... | Linux (/etc/shadow, opcional) | Alternativa ao SHA512 |
MD5-CRYPT | $1$... | Antigo Linux, FreeBSD (/etc/shadow) | Obsoleto e inseguro |
DES (sem prefixo) | abCDefGH... | Linux muito antigos (/etc/passwd) | Muito fraco |
bcrypt | $2a$, $2y$, $2b$ | Laravel, Django, WordPress moderno | Seguro, adaptável |
PHPass | $P$, $H$ | WordPress, phpBB, Drupal 6 | Baseado em MD5 com salt e rounds |
Argon2 | $argon2i$, $argon2id$ | PHP moderno, Django 3+, libsodium | Muito seguro (recomendado) |
NTLM | Hash hexadecimal (32 chars) | Windows (credenciais locais, SAM) | Baseado em MD4 (inseguro) |
LM | Dois blocos de 16 chars | Windows antigos (XP) | Extremamente fraco |
NetNTLMv1, NetNTLMv2 | Protocolos de autenticação | Windows + Active Directory | Usado em redes corporativas |
SHA1 | 40 chars hex | Git, alguns apps antigos | Inseguro hoje |
MySQL 5+ | * + 40 chars hex | MySQL 5.x, MariaDB | SHA1 duplo com prefixo * |
MySQL < 4.1 | 16 chars | MySQL antigos | Obsoleto e inseguro |
PostgreSQL MD5 | md5 + hash | PostgreSQL | md5(password + username) |
Cisco Type 5 | $1$ (MD5-crypt) | Equipamentos Cisco (obsoleto) | Igual ao MD5-crypt |
Cisco Type 7 | Não é hash (reversível) | Switches/routers antigos | Apenas ofuscado (quebrável) |
LDAP {SSHA} | {SSHA} + base64 | LDAP (OpenLDAP) | SHA1 + salt |
LDAP {SHA}, {MD5} | {SHA} / {MD5} | LDAP | Sem salt → fraco |
📁 Exemplos por sistemas:
🐧 Linux (/etc/shadow)
$6$→ SHA512-CRYPT (padrão)$5$→ SHA256-CRYPT$1$→ MD5-CRYPT (antigo)- Sem prefixo → DES (obsoleto)
🪟 Windows
- NTLM hashes → armazenados no SAM (Security Account Manager)
- LM → presente em sistemas legados (XP e anteriores)
🌐 Web Apps
- WordPress →
$P$(PHPass) - Laravel →
$2y$(bcrypt) - Django → bcrypt, pbkdf2, Argon2 (
settings.pydefine)
🛡️ Banco de Dados
- PostgreSQL →
md5<hash>(não é puro SHA1) - MySQL 5.x →
*<hash>(SHA1) - MySQL
< 4.1→ algoritmo proprietário
🔍 Como identificar tipos de Hashes | Identificar hash
Use ferramentas como:
hashid <hash>
Ou:
hash-identifier
Essas ferramentas tentam reconhecer o tipo de hash automaticamente com base em padrões.