Gerador de bcrypt
bcrypt ainda é uma das escolhas mais seguras para armazenar senhas. É deliberadamente lento, deriva seu próprio sal e se adapta a melhorias de hardware através de um parâmetro de custo ajustável. Este gerador produz um hash bcrypt compatível com os padrões a partir de uma senha em texto simples, para que você possa criar um usuário de teste, migrar uma conta entre sistemas ou comparar valores com um hash existente armazenado na coluna users.password.
Como hash uma senha com bcrypt
-
1
Digite a senha em texto simples
Até 72 bytes, bcrypt truncará silenciosamente além disso.
-
2
Escolha um fator de custo
12 é o padrão aqui; 10 é uma escolha legada mais rápida; 13 é a configuração mais forte desta ferramenta. Cada +1 dobra aproximadamente o tempo de hash.
-
3
Um sal aleatório é gerado
16 bytes de sal são extraídos de um RNG criptográfico e incorporados na string de hash resultante.
-
4
Copie o hash
A saída é uma string auto-descritiva como `$2b$12$...` que inclui versão, custo, sal e digestão.
Anatomia de um hash bcrypt
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
| | | |
| | sal (22 caracteres Base64) digestão (31 caracteres Base64)
| custo (2 dígitos, 4-31)
versão (2a, 2b, 2y, todos bcrypt)
A string inteira tem 60 caracteres. Colunas tipadas como VARCHAR(60) ou CHAR(60) são o esquema padrão.
Recomendações de fator de custo
| Custo | Tempo aproximado por hash (CPU 2024) | Caso de uso |
|---|---|---|
| 10 | ~80 ms | Padrão legado, ainda aceitável |
| 12 | ~300 ms | Base recomendada atual |
| 13 | ~600 ms | Aplicativos de maior segurança |
| 14 | ~1.2 s | Fora do intervalo desta ferramenta (máximo 13) |
Cada incremento dobra o fator de trabalho. Se a latência de login abaixo de 500 ms é crítica, mantenha-se em 10-12.
Byte de versão: 2a vs 2b vs 2y
$2a$, Especificação original de 1999. A maioria das bibliotecas emitem hashes2a.$2b$, Revisão de 2014 corrigindo um bug de truncamento no crypt_blowfish. Preferido para novos hashes.$2y$, Tag específica do PHP, funcionalmente equivalente a$2b$.
Todos os três verificam entre si; apenas a tag na string de hash difere.
O que bcrypt protege
- Tabelas arco-íris, Sal único por hash derrota buscas pré-computadas.
- Quebra por GPU/ASIC, O cronograma de chaves Blowfish é limitado por memória e hostil a GPUs. Não é tão hostil a GPUs quanto Argon2, mas ainda é lento para força bruta.
- Vazamentos de banco de dados, O texto simples nunca é recuperável do hash sem força bruta.
O que bcrypt NÃO protege: senhas fracas (use um comprimento mínimo e verifique listas de vazamento), preenchimento de credenciais (use um segundo fator), phishing.
Limite de 72 bytes
bcrypt usa apenas os primeiros 72 bytes da senha. Entradas mais longas são truncadas silenciosamente, que é a mesma razão pela qual muitas bibliotecas agora recomendam pré-hash a senha com SHA-256 antes de alimentá-la ao bcrypt. Alternativas modernas (Argon2, scrypt) não têm tal limite.
Perguntas frequentes
Sim para armazenamento de senhas, com custo ≥ 12. A OWASP ainda o lista como um algoritmo aceitável. Argon2id é a escolha preferida para novos sistemas, mas migrar hashes bcrypt legados é uma preocupação de baixa prioridade.
Porque o sal é gerado aleatoriamente por hash. A verificação pega o sal do hash armazenado, re-hash a senha submetida com ele e compara.
A maioria das bibliotecas não expõe isso, e por boas razões, sais previsíveis derrotam o propósito. Use o sal gerado pela biblioteca; esse é o caminho seguro.
Cada +1 dobra aproximadamente o tempo de hash, então um custo 13 leva cerca de 8x mais tempo do que um custo 10. Fique na faixa de 10-12, a menos que seu aplicativo realmente precise da força extra.
Ferramentas relacionadas
Codificador de Arquivos Base64
Codifique qualquer arquivo (PDF, ZIP, imagem, executável) em texto Base64 para embutir em JSON, e-mail, YAML ou URIs de dados. Funciona localmente, sem upload.
Codificador de Cifra A1Z26
Codifique texto usando a cifra A1Z26 (A=1, B=2, ... Z=26) ou decodifique uma sequência de números de volta para letras, com separador personalizável.
Codificador e Decodificador Base58
Codifique texto UTF-8 ou bytes hexadecimais e decodifique Base58 com segurança usando o alfabeto Bitcoin, Ripple ou Flickr.
Codificador de Cifra de César
Criptografe e descriptografe texto usando a cifra de César. Qualquer deslocamento de 1-25, suporta ROT13 como um caso especial, preserva pontuação e maiúsculas/minúsculas.
Codificador e Decodificador Base85
Codifique e decodifique Base85 na variante Adobe Ascii85, a usada em arquivos PostScript e PDF. Mais compacto que Base64 para dados binários.
Codificador e Decodificador Base32
Codifique e decodifique strings Base32 usando o alfabeto RFC 4648. Útil para segredos TOTP, tokens sem distinção de maiúsculas e identificadores digitados por humanos.
Ferramenta disponível em outros idiomas
- bcrypt Oluşturucu [TR]
- Generador bcrypt [ES]
- مولد bcrypt [AR]
- Générateur bcrypt [FR]
- bcrypt-generator [NL]
- bcrypt 생성기 [KO]
- Generator bcrypt [ID]
- bcrypt Generator [EN]
- Trình tạo bcrypt [VI]
- bcrypt 生成器 [ZH]
- bcryptジェネレーター [JA]
- ตัวสร้าง bcrypt [TH]
- bcrypt-Generator [DE]
- bcrypt-generator [SV]
- Generator bcrypt [PL]
- Generatore bcrypt [IT]
- Генератор bcrypt [RU]