Gerador Bcrypt

Gerador Bcrypt

Gerador e verificador de hash bcrypt grátis — 100% client-side. Benchmark do cost factor em tempo real, parser e code snippets para Node.js, Python, PHP, Go.

Atualizado em junho de 2026

Revisado por Rafael Duarte

Zero Atividade de Rede — 100% no Navegador
SEGURO NO CLIENTE
12
4 — testes Padrão é 12 (OWASP). Maior = mais seguro, mas mais lento. 18 — muito lento

Benchmark Local

Tempo de processamento no seu hardware atual

Cost 8
Cost 10
Cost 12
Cost 14

Snippets de Implementação

const bcrypt = require('bcryptjs');
const SALT_ROUNDS = 12; // OWASP recommended

async function hashPassword(plaintext) {
  return await bcrypt.hash(plaintext, SALT_ROUNDS);
}

async function verifyPassword(plaintext, hash) {
  return await bcrypt.compare(plaintext, hash);
}

const hash = await hashPassword('user_password');
// '$2b$12$...' (60 chars, always different due to random salt)

const isValid = await verifyPassword('user_password', hash);
// true

Como funciona

Gerar leva menos de cinco segundos

1. Cole a senha

O badge "CLIENT-SIDE SECURE" confirma que nenhuma requisição de rede será feita.

2. Ajuste o cost factor

Slider de 4 a 18 — cost 12 é o padrão recomendado pelo OWASP.

3. Gere e copie

O hash aparece com o tempo exato no seu hardware; copie com um clique.

O que esta ferramenta faz

Além de gerar o hash

Verifica hash existente

Aba Verify Hash compara senha e hash e mostra checkmark verde ou X vermelho em milissegundos.

Benchmark do cost factor

Mede o tempo real de hashing no seu hardware pra cada valor de cost.

Decodifica hash existente

Cole qualquer hash bcrypt pra ver versão, cost, salt e checksum separados.

Code snippets prontos

Gera o código equivalente pra Node.js, Python, PHP, Go e mais.

100% client-side com bcryptjs

Nenhuma senha sai do navegador — confirme na aba Network do DevTools.

Gera script de benchmark pro servidor

Copie um script pronto (Node.js, Python, PHP, Ruby ou Go) que testa os costs 10 a 16 na sua própria máquina de produção — não uma estimativa do navegador.

Exemplos

Entrada
Hash bcrypt (cost 12)
minhasenhasecreta
$2b$12$nOUIs5kJ7naTuTFkBy1veuK0kSxUFXfuaOKdOKf9xYT0KKIGSJwFa
minhasenhasecreta (gerado de novo)
$2b$12$aBcDeFgHiJkLmNoPqRsTuv... — salt diferente, ambos válidos
72 vs. 100 caracteres 'a'
produzem hashes equivalentes — bytes além de 72 são ignorados
senha errada vs. hash acima (aba Verify)
false — X vermelho, sem revelar qual caractere diverge

Quando você vai usar isso

Os cenários mais comuns entre quem usa a ferramenta

Autenticação

Hash de senha antes de armazenar; bcrypt.compare() confirma o match em tempo constante no login.

Migrar de algoritmo fraco

Re-hasheie progressivamente senhas de MD5/SHA-1 pra bcrypt no login bem-sucedido.

Calibrar o cost factor

Rode o benchmark no hardware de produção pra achar o cost mais alto sob seu threshold de UX.

Auditoria de segurança

Cole um hash existente pra verificar versão, cost e comprimentos de salt/checksum.

Antes de usar em produção, confira isso

Cost 4–8 em produção

Completam em menos de 1ms — sem resistência real a força bruta. Use cost 10 como mínimo, 12 como padrão.

Hashear um hash já hasheado

Produz uma string que nunca poderá ser verificada. Sempre hasheie só o texto original em claro.

Limite de 72 bytes

O bcrypt trunca silenciosamente a entrada — senhas maiores precisam de pré-hash com SHA-256 ou trocar pra Argon2id.

Guardar salt separado

Desnecessário — o bcrypt já embute o salt nos 60 caracteres do hash.

Senhas com acento ou emoji perto do limite

Bcrypt conta bytes, não caracteres — um emoji pode ocupar 4 bytes. Uma senha com 60 caracteres acentuados pode estourar os 72 bytes antes do esperado e ser truncada silenciosamente.

Comparar hash com === em vez de compare()

Comparação direta de string vaza timing attack, porque interrompe no primeiro byte diferente. Use sempre bcrypt.compare(), password_verify() ou equivalente, que roda em tempo constante.

Por que gerar aqui

Todo o hashing roda no navegador com bcryptjs, uma implementação pura em JavaScript — abra o DevTools e confirme que a aba Network fica vazia.

O benchmark mede o tempo real no seu hardware, não uma estimativa genérica — e os snippets de código pra oito linguagens poupam o passo de escrever a chamada da biblioteca manualmente.

Diferente de uma calculadora de hash genérica, esta ferramenta decompõe o hash gerado (versão, cost, salt, checksum) e ainda gera o script de benchmark pra rodar no seu próprio servidor de produção — o hardware que de fato vai autenticar seus usuários.

Bcrypt vs. Argon2id

Ambos resolvem hash de senha; escolha conforme o projeto

Bcrypt
Argon2id
Recomendação OWASP atual
alternativa sólida
primeira escolha
Resistente a GPU/ASIC (memory-hard)
não
sim
Limite de comprimento de senha
72 bytes
sem limite
Suporte amplo em linguagens
sim
crescente
Cost factor ajustável
sim
sim (memory + time)

Perguntas frequentes

OWASP recomenda cost 12 como ponto de partida, visando ~250ms por hash em hardware moderno. Use o benchmark desta página pra medir seu servidor e escolher o cost mais alto sob seu threshold de UX (300ms–1s).

Referências

Artigo relacionado

Salt, pepper, bcrypt e Argon2id: como proteger senhas de verdade

Ferramentas Relacionadas