WALUDO Ferramentas
CRYPTO.03 BCRYPT GENERATOR

Gerador Bcrypt

Gerar e verificar usam a mesma senha, enquanto o Hash Inspector explica o resultado junto do custo, tempo e limite de 72 bytes.

PASSWORD

Senha e custo

Base comum de compatibilidade; meça o hardware de produção

Digite uma senha para gerar ou cole um hash à direita

bcrypt.js assíncrono local · senhas e hashes nunca são enviados ou salvos

§ 01

Gere e verifique a mesma senha

1
1

Digite a senha e confira os bytes

O limite clássico do Bcrypt é de 72 bytes UTF-8. CJK e emojis ocupam vários bytes; siga o aviso em vez de contar apenas caracteres.

2
2

Escolha o custo

Cada aumento praticamente dobra o trabalho. Custo 12 é um começo comum, mas o valor de produção deve ser medido no servidor real.

3
3

Gere ou verifique

O resultado gerado preenche o campo Verificar. A verificação lê o salt e o custo incorporados no hash completo.

§ 02

Bcrypt torna as tentativas de senha deliberadamente lentas

Bcrypt é um hash de senha, não uma criptografia reversível. Cada resultado traz versão, custo, salt aleatório e carga do hash; o verificador lê o salt da string completa.

Um login normal calcula uma vez, mas um atacante repete o trabalho caro em cada tentativa. Revise o custo com a evolução do hardware sem tornar o serviço lento demais.

§ 03

Escala e uso do fator de custo

Custo
Rodadas aprox.
Recomendação
4–9
16–512
Testes e demonstrações locais
10–11
1024–2048
Sistemas antigos ou fracos
12
4096
Base comum; meça o hardware
13–14
8192–16384
Custo maior; avalie a latência
15
32768
Pode ficar lento no navegador
§ 04

O limite de 72 bytes e o prefixo da versão causam problemas de compatibilidade

O Bcrypt tradicional usa apenas os primeiros 72 bytes da senha. Setenta e dois caracteres ASCII são 72 bytes, mas CJK costuma usar três e muitos emojis quatro.

Os prefixos comuns são 2a, 2b e 2y. A saída moderna normalmente usa 2b, enquanto 2y aparece no ecossistema PHP. Na migração, teste amostras reais com bibliotecas mantidas.

§ 05

Geração e verificação Bcrypt em várias linguagens

import bcrypt from 'bcryptjs';
const hash = await bcrypt.hash(password, 12);
const valid = await bcrypt.compare(password, hash);
§ 06

Perguntas frequentes

Q1É possível descriptografar Bcrypt?

Não. A verificação recalcula a entrada com o salt e o custo presentes no hash; uma senha esquecida deve ser redefinida.

Q2O custo 12 é sempre adequado para produção?

Não. É um ponto de partida comum; escolha com benchmarks no hardware de produção e considere concorrência, limites e experiência.

Q3Por que a mesma senha gera um hash diferente?

Cada geração usa um novo salt aleatório. Strings diferentes ainda verificam a mesma senha, evitando tabelas arco-íris e pré-cálculos.

Q4As senhas são enviadas ou salvas?

Não. O bcrypt.js calcula de forma assíncrona na página atual, sem enviar entradas ou gravar no armazenamento do navegador.

Q5Bcrypt ou Argon2id em um projeto novo?

Ambos servem para armazenar senhas. Projetos novos costumam avaliar Argon2id primeiro; Bcrypt continua comum por compatibilidade.

✳ WALUDO TOOLBOX ✳ Ferramentas nativas do navegador · NO SERVER · NO DATA COLLECTION

Seus arquivos nunca saem do computador · FILES STAY LOCAL · PRIVACY FIRST