Decodificador de Hash de Senha
Hashes de senhas armazenam credenciais de forma segura usando funcoes unidirecionais com salts e fatores de trabalho configuraveis. Esta ferramenta detecta e analisa automaticamente hashes no Modular Crypt Format (MCF), PHC String Format e esquemas LDAP, mostrando o algoritmo, parametros, salt, saida do hash e uma avaliacao de seguranca.
Especificacoes
Casos de Uso Comuns
- Identificar qual algoritmo de hash um banco de dados usa para senhas
- Auditar a seguranca de hashes de senhas durante testes de penetracao ou revisoes de seguranca
- Verificar se fatores de custo do bcrypt e parametros do Argon2 atendem as recomendacoes OWASP
- Entender os esquemas de armazenamento de senhas de diretorios LDAP
- Depurar problemas de autenticacao inspecionando formato e parametros do hash
Funcionalidades
- Deteccao automatica de formatos MCF ($1$, $2b$, $5$, $6$, $sha1$, $apr1$), PHC ($argon2id$, $scrypt$, $pbkdf2$) e LDAP ({SSHA}, {SHA}, {MD5})
- Exibir algoritmo, variante, parametros (custo, rodadas, memoria, paralelismo), salt e saida do hash
- Avaliacao de seguranca: critico (MD5/sem salt), fraco (SHA-1/custo baixo), moderado (SHA-crypt), forte (bcrypt 12+/argon2/scrypt)
- Recomendacoes de avaliacao de seguranca com codigo de cores
- Exibicao do formato de codificacao do hash (base64, hex, etc.)
- Analisar multiplos hashes de entrada multilinha
- Mostrar comprimento em bits do hash e formato de codificacao
- Links para especificacoes relevantes de cada algoritmo
Exemplos
Hash de senha bcrypt
Experimente →Um hash bcrypt com fator de custo 12 — o minimo recomendado para novas aplicacoes.
$2b$12$LJ3m4ys3Lg2VBe5E5Ij25eNsaDl3JK8i3pg7jBepGQhWcqMpqXA4qHash de senha Argon2id
Experimente →Argon2id com 64 MB de memoria, 3 iteracoes e 4 threads — a melhor pratica atual.
$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dawDicas
- Fator de custo bcrypt 12+ e recomendado pela OWASP. Cada incremento dobra o tempo de computacao.
- Argon2id e a melhor pratica atual — combina resistencia a canais laterais (argon2i) e resistencia a GPU (argon2d).
- LDAP {SSHA} e SHA-1 com salt — melhor que {SHA}, mas ainda e um hash rapido. Migre para bcrypt ou Argon2.
- Cole a saida do hashing de senha do painel Encode As para decodificar e verificar aqui.
Entendendo Decodificador de Hash de Senha
Hashing de senha e a pratica de armazenar senhas como hashes criptograficos unidirecionais em vez de texto simples. Quando um usuario define uma senha, o sistema faz o hash e armazena o resultado. Durante o login, o sistema faz o hash da senha enviada e compara o resultado com o hash armazenado. Como a funcao de hash e unidirecional, um atacante que obtenha o banco de dados de hashes nao pode recuperar diretamente as senhas.
Algoritmos modernos de hashing de senhas sao intencionalmente lentos e intensivos em memoria para resistir a ataques de forca bruta. O bcrypt usa um fator de custo configuravel onde cada incremento dobra o tempo de computacao. O Argon2 (vencedor da Password Hashing Competition de 2015) adiciona uso configuravel de memoria para resistir a ataques baseados em GPU. O scrypt tambem requer memoria significativa. Esses "hashes lentos" sao fundamentalmente diferentes de hashes rapidos (MD5, SHA-256) que sao projetados para velocidade e sao inadequados para armazenamento de senhas.
Hashes de senhas usam formatos de string padronizados para portabilidade. O Modular Crypt Format (MCF) usa delimitadores $: $2b$12$... para bcrypt, $5$ para SHA-256-crypt, $6$ para SHA-512-crypt. O PHC String Format (usado pelo Argon2) adiciona parametros nomeados: $argon2id$v=19$m=65536,t=3,p=4$salt$hash. Sistemas LDAP usam prefixos de esquema: {SSHA}, {PBKDF2}.
Cada hash inclui um salt — dados aleatorios combinados com a senha antes do hashing para garantir que senhas identicas produzam hashes diferentes. Sem salt, atacantes podem usar rainbow tables pre-computadas para buscar hashes de senhas comuns instantaneamente. O salt e armazenado junto com o hash (nao e secreto) e e gerado aleatoriamente para cada senha.
Para novas aplicacoes, Argon2id e a melhor pratica atual conforme recomendado pela OWASP. Se Argon2 nao estiver disponivel no seu framework, bcrypt com fator de custo 12+ e a proxima melhor opcao, e scrypt tambem e aceitavel. MD5, SHA-1 e SHA-256 simples nunca devem ser usados para senhas — sao rapidos demais e podem sofrer ataques de forca bruta a bilhoes de tentativas por segundo em GPUs modernas. O MD5 em particular foi projetado como um algoritmo de checksum rapido, nao para armazenamento de senhas, e possui vulnerabilidades de colisao conhecidas. Hashes MD5 sem salt tambem sao vulneraveis a ataques de rainbow table.
O fator de custo do bcrypt (o numero apos $2b$) e um expoente que controla o tempo de computacao. Custo 10 significa 2^10 = 1.024 iteracoes, enquanto custo 12 significa 2^12 = 4.096 iteracoes — quatro vezes mais lento que custo 10. A OWASP recomenda custo 12 como minimo. Cada incremento dobra o tempo, entao aumentar de 10 para 12 torna o hashing 4x mais lento tanto para o servidor quanto para qualquer atacante.
Um salt e um pepper desempenham papeis diferentes na seguranca de senhas. Um salt sao dados aleatorios armazenados junto com o hash, unicos por senha, garantindo que senhas identicas produzam hashes diferentes — salts nao sao secretos. Um pepper e uma chave secreta aplicada a todas as senhas (tipicamente via HMAC), armazenada separadamente do banco de dados na configuracao da aplicacao ou em um modulo de seguranca de hardware. Se o banco de dados for comprometido mas o pepper nao, o atacante nao pode quebrar os hashes mesmo com os salts. Usar ambos fornece defesa em profundidade.