Hashes/Cripto
Bcrypt Hash + Verify
Faça hash de senhas com bcrypt (com salt aleatório e custo configurável) e verifique uma senha em relação a um hash bcrypt existente.
Bcrypt is a deliberately slow password-hashing algorithm: unlike MD5 or SHA-256, it intentionally requires heavy computation so that brute-forcing passwords stays impractical even if a database of hashes leaks.
How to use it
- Hash: enter a password and set a cost factor — a higher number means slower, more secure hashing.
- Every hash call generates a fresh random salt, so the same password produces a different hash each time — that's expected and normal.
- Verify: paste a password and an existing bcrypt hash to check whether they match, without hashing manually yourself.
Common uses
- Manually checking that a backend hashes passwords correctly before storing them.
- Generating a test bcrypt hash for seed data or fixtures during development.
- Debugging a failed login by comparing an entered password against the stored hash.
Things to keep in mind
Pick a cost factor that keeps hashing around 100-300ms on your target server — a balance between security and login-time load.
Bcrypt truncates passwords longer than 72 bytes — characters beyond that limit are ignored by the algorithm.
Artigo sobre esta ferramenta: Bcrypt: por que as senhas são hasheadas devagar, não rápido
Perguntas frequentes
Preciso gerar um salt separadamente para usar bcrypt?
Não. O bcrypt gera automaticamente um salt aleatório e o incorpora ao próprio hash resultante, então não há necessidade de armazená-lo à parte.
Existe limite de tamanho para a senha?
Sim — o bcrypt considera apenas os primeiros 72 bytes da senha; qualquer caractere além disso é silenciosamente ignorado no cálculo do hash, sem gerar erro.
O que o "custo" representa e como escolher um valor?
O custo controla quantas rodadas internas o algoritmo executa; cada incremento dobra o tempo de processamento. Valores mais altos dificultam ataques de força bruta, mas tornam o cálculo mais lento — escolha o maior valor que seu hardware suporta com um tempo de resposta aceitável.
Existe um limite para o comprimento da senha no bcrypt?
Sim, o bcrypt processa apenas os primeiros 72 bytes da senha — qualquer coisa além disso é simplesmente descartada, sem aviso. Na prática, isso raramente é um problema, mas vale lembrar disso ao lidar com senhas muito longas ou caracteres não-ASCII, em que um caractere pode ocupar vários bytes.
Por que o bcrypt ainda é recomendado, já que existe o Argon2?
O bcrypt é testado na prática há décadas, é amplamente suportado em todas as linguagens e frameworks e continua sendo uma escolha totalmente confiável. O Argon2 é recomendado como prioridade para novos sistemas por sua proteção contra ataques em GPU/ASIC, mas o bcrypt não é considerado inseguro — apenas menos resistente a hardware especializado.