Gerador de Hash Argon2
Gere um hash Argon2id com salt para armazenar uma senha.
Como usar Gerador de Hash Argon2
- Digite a senha que deseja hashear.
- Deixe a variante em Argon2id, a menos que tenha um motivo específico para não fazê-lo.
- Clique em Gerar e copie o hash para o seu banco de dados.
Sobre Gerador de Hash Argon2
O Argon2 venceu a Password Hashing Competition em 2015 e foi projetado por Alex Biryukov, Daniel Dinu e Dmitry Khovratovich. Ele vem em três variantes. O Argon2d é dependente de dados — o mais rápido, mas seu padrão de acesso à memória depende da senha, o que pode vazar informações de tempo. O Argon2i é independente de dados e resiste a ataques de canal lateral. O Argon2id é um híbrido dos dois e a escolha geralmente recomendada; é o que a OWASP recomenda para novas aplicações, e é o padrão aqui.
A propriedade principal é que o Argon2 é memory-hard (exige muita memória). Ele deliberadamente consome um grande bloco de RAM durante o hashing, e esse é todo o ponto: uma GPU ou ASIC pode empacotar um número enorme de pequenos núcleos paralelos, mas não consegue dar barato a cada um deles 64 MB de memória rápida. Atacar o Argon2, portanto, custa dinheiro real em hardware de uma forma que atacar um hash rápido não custa. Essa é a principal vantagem sobre o bcrypt, que é lento, mas não especialmente exigente em memória.
Assim como o bcrypt, o Argon2 adiciona salt automaticamente a cada hash, então a saída é diferente a cada execução e isso está correto — o salt e todos os parâmetros são codificados dentro da própria string $argon2id$…, por isso um verificador consegue lê-los de volta mais tarde. Nunca verifique uma senha refazendo o hash e comparando strings; use nosso verificador em vez disso. Esta ferramenta usa um custo de memória fixo de 64 MB, 4 iterações e 1 thread, porque é um endpoint público e parâmetros ilimitados seriam uma forma fácil de derrubar o servidor. No seu próprio servidor, ajuste o custo ao seu hardware.
Perguntas frequentes
Por que o hash é diferente toda vez que clico em Gerar?
Porque o Argon2 adiciona um novo salt aleatório a cada hash. Isso é intencional e é exatamente o que você quer — impede que atacantes pré-calculem tabelas rainbow. Ambos os hashes são válidos para a mesma senha. Para verificar uma senha, use um verificador em vez de comparar strings.
Argon2id, Argon2i ou Argon2d?
Argon2id. É o híbrido dos outros dois e a escolha que a OWASP recomenda para novas aplicações. Escolha o Argon2i apenas se precisar especificamente da variante independente de dados.
Argon2 ou bcrypt?
O Argon2id é a recomendação atual, principalmente porque exige muita memória e assim torna a quebra por GPU e ASIC muito mais cara. O bcrypt continua sendo uma opção sólida e extremamente testada, com suporte em quase todo lugar, então uma configuração existente com bcrypt não é uma emergência.
Posso mudar o custo de memória ou as iterações?
Não aqui — são fixos em 64 MB, 4 iterações e 1 thread porque este é um endpoint público. No seu próprio código, você pode e deve ajustá-los; os parâmetros ficam armazenados dentro da própria string de hash, então um hash gerado aqui ainda é verificável em qualquer lugar.
Minha senha é armazenada?
Não. Ela é enviada ao nosso servidor para ser hasheada, porque os navegadores não conseguem calcular Argon2, depois é hasheada e descartada imediatamente — nunca registrada, nunca armazenada. Para uma senha real em produção, gerá-la no seu próprio servidor ainda é o hábito mais seguro.

