PK Systems PK Systems
Codificadores e decodificadores

Gerador e Verificador de Hash bcrypt

Gere hashes de senha com o padrão bcrypt e verifique uma senha contra qualquer hash bcrypt. Custo configurável.

Gerador e Verificador de Hash bcrypt

O custo é logarítmico: cada passo dobra o trabalho. 10 é o padrão moderno seguro; 12 para sistemas sensíveis.

Hash bcrypt


        
    

O que é bcrypt?

bcrypt é uma função de hash de senha desenhada por Niels Provos e David Mazières em 1999. Constrói sobre a cifra Blowfish e é lenta de propósito: um fator de custo configurável controla quantas rodadas de inicialização rodam antes de produzir o hash, permitindo que defensores aumentem o custo conforme o hardware fica mais rápido. Cada hash embute um salt aleatório de 128 bits, então hashear a mesma senha duas vezes gera saídas diferentes e tabelas rainbow pré-computadas viram inúteis. O resultado parece $2b$10$… onde 2b é a versão do algoritmo, 10 é o custo e o restante é salt e hash. bcrypt segue como escolha padrão para armazenamento de senhas em 2026: mais simples que Argon2, mais testada que scrypt e suportada em toda linguagem relevante.

Como usar

Para gerar hash, digite a senha, escolha o custo e clique em Gerar hash. A saída vai direto para o banco. Para verificar, cole o hash do banco e digite a senha candidata, depois clique em Verificar. O bcrypt embute o custo dentro do hash, então não é preciso escolher de novo na verificação — a biblioteca extrai do próprio string.

Como escolher o custo

Cada passo de custo dobra o tempo. Escolha o maior custo que ainda mantenha o login abaixo de ~250 ms no seu hardware. Em logins de alto tráfego em servidores comuns, 10 (~60 ms) é o mínimo moderno; 12 (~250 ms) é confortável para contas sensíveis; 13–15 se justifica para credenciais críticas, mas é preciso medir latência. Aumente o custo ao atualizar o banco — refaça o hash no próximo login.

Referência de custo (CPU moderna, 1 thread)

Custo Iterações Tempo aprox.
416~1 ms
8256~15 ms
10 (default)1,024~60 ms
124,096~250 ms
138,192~500 ms
1416,384~1 s
1532,768~2 s

Perguntas frequentes

bcrypt ainda é seguro em 2026?
Sim. bcrypt com custo ≥10 segue um hash de senha aceitável. Argon2id é a recomendação OWASP número um para projetos novos, mas bcrypt está bem, é maduro e fácil de auditar.
Onde está o salt?
O salt vai dentro do próprio hash, entre o custo e o digest. A biblioteca extrai durante a verificação — você nunca guarda o salt separado.
Qual o tamanho máximo da senha?
A maioria das implementações trunca silenciosamente a senha em 72 bytes. Para senhas longas, faça um pre-hash (ex. SHA-256) e Base64, ou use Argon2 quando precisar suportar tamanhos arbitrários.
Por que custo alto demora?
É de propósito. O ponto do bcrypt é tornar força bruta cara. Para manter a página responsiva, esta ferramenta roda custos ≥12 em Web Worker, deixando o navegador livre.
$2a$, $2b$ e $2y$ são diferentes?
$2a$ é a versão original (com bug conhecido em chars de 8 bits do PHP), $2b$ é a versão corrigida usada em todo lugar hoje, e $2y$ é uma marca específica do PHP fixada no comportamento sem bug. O verificador aceita as três.
A página envia minha senha para algum servidor?
Não. Hashing e verificação rodam totalmente no seu dispositivo. Sua senha, hash e resultado de verificação nunca saem da página, nunca vão para nossos servidores, e não são armazenados, indexados, registrados ou compartilhados.