Argon2 Gerador de Hash

Ferramenta gratuita de Argon2 Gerador de Hash online. Processamento 100% local — seus dados nunca saem do seu dispositivo.

General
Password Hashing / KDF
Specialized
Deprecated
KiB
iterations

Verify: input format is "password|hash"

Saída

O resultado será exibido aqui...

Entrada Calcular Hash

Usage Guide

Sobre o Argon2

Argon2 é o vencedor do Password Hashing Competition de 2015, projetado pela Universidade de Luxemburgo. É atualmente o algoritmo de hash de senhas mais seguro, recomendado por organizações autoritativas como OWASP e NIST para armazenamento de senhas. O Argon2 possui três variantes: Argon2d (resistente a GPU), Argon2i (resistente a canal lateral) e Argon2id (modo híbrido, recomendado). Ao contrário dos algoritmos de hash tradicionais, o Argon2 tem custo computacional e consumo de memória ajustáveis, resistindo efetivamente a ataques de força bruta, GPU e ASIC.

Recomendado pelo OWASP: O Argon2id é o algoritmo preferido na Folha de Dicas de Armazenamento de Senhas do OWASP. Combina a resistência a GPU do Argon2d com a resistência a ataques de canal lateral do Argon2i, fornecendo a proteção de segurança mais abrangente. Recomendado para armazenamento de senhas em todos os novos projetos.

Passos de Uso

O Argon2 suporta duas operações: hash de senha e verificação:

1. Selecionar ModoEscolha o modo 'Criptografar' para fazer hash de senhas, ou o modo 'Descriptografar' para verificar senhas
2. Inserir SenhaPreencha a senha a ser hasheada ou verificada na caixa de entrada
3. Calcular HashClique no botão 'Calcular Hash', o Argon2 gerará automaticamente sal aleatório e calculará o hash
4. Salvar ResultadoCopie a string de hash completa (incluindo parâmetros do algoritmo, sal e hash) para armazenar no banco de dados
5. Verificar SenhaPara verificação, insira a senha original e a string de hash completa, o sistema extrairá automaticamente os parâmetros e verificará
Proteção de Privacidade: Todos os cálculos são realizados localmente no seu navegador, os dados nunca são enviados para servidores, processamento completamente offline.

Características do Algoritmo

O Argon2 é especificamente projetado para armazenamento de senhas com as seguintes vantagens únicas:

Memória IntensivaRequer grande quantidade de memória (padrão 64MB), tornando ataques de GPU e ASIC extremamente custosos
Custo AjustávelPode ajustar custo de tempo (iterações), custo de memória e paralelismo para atender diferentes necessidades de segurança
Resistente a Canal LateralArgon2i e Argon2id resistem a ataques de temporização de cache e outros ataques de canal lateral
Salting AutomáticoGeração de sal aleatório integrada, sem necessidade de gerenciamento manual de sal
VersionadoA string de hash inclui versão do algoritmo e parâmetros, facilitando futuras atualizações e migrações
Configuração de Parâmetros: A segurança do Argon2 depende da configuração de parâmetros. OWASP recomenda: custo de memória ≥ 47MB (m=47104), custo de tempo ≥ 1 iteração (t=1), paralelismo = 1 (p=1). Se o desempenho do servidor permitir, aumente o custo de memória para 64MB ou mais. Evite usar parâmetros muito baixos, pois reduz a segurança.

Comparação das Três Variantes

O Argon2 possui três variantes adequadas para diferentes cenários:

Argon2dDependente de dados, mais resistente a GPU/ASIC, mas vulnerável a ataques de canal lateral, adequado para mineração de criptomoedas
Argon2iIndependente de dados, resistente a canal lateral, mas resistência a GPU ligeiramente mais fraca, adequado para hash de senhas
Argon2idModo híbrido (recomendado), combina vantagens de ambos, resistente tanto a GPU quanto a canal lateral, adequado para todos os cenários
Escolha Recomendada: A menos que você tenha necessidades especiais, sempre use Argon2id. É a recomendação unânime do OWASP, NIST e especialistas em criptografia, fornecendo a proteção de segurança mais abrangente.

FAQ

Q: Qual é a diferença entre Argon2 e bcrypt/PBKDF2?

A: Argon2: Algoritmo moderno (2015), memória intensiva, resistente a GPU/ASIC, preferido pelo OWASP. bcrypt: Algoritmo clássico (1999), computacionalmente intensivo, resistência moderada a GPU, amplamente usado mas gradualmente sendo substituído pelo Argon2. PBKDF2: Algoritmo padrão (2000), computacionalmente intensivo, vulnerável a ataques de GPU, requer iterações extremamente altas (≥ 600k) para segurança. Comparação de desempenho: No mesmo nível de segurança, o Argon2 é 2-3x mais rápido que o bcrypt e 10x+ mais rápido que o PBKDF2. Recomendação: Use Argon2id para novos projetos, migre gradualmente projetos existentes para Argon2.

Q: Como os parâmetros do Argon2 devem ser configurados?

A: Configuração recomendada pelo OWASP: Custo de memória (m): 47104 KB (cerca de 47MB), pode aumentar para 64MB ou mais se o desempenho do servidor for bom. Custo de tempo (t): 1-3 iterações, geralmente 1 é suficiente. Paralelismo (p): 1 (single-threaded), evitar ataques paralelos. Comprimento do hash: 32 bytes (256 bits). Método de ajuste: Teste no ambiente de desenvolvimento, garanta que um único hash leve 0,5-1 segundo, depois ajuste com base no desempenho do servidor. Nota: Parâmetros mais altos significam mais segurança, mas aumentam a carga do servidor e o tempo de resposta.

Q: Por que o Argon2 é mais adequado para armazenamento de senhas do que o SHA-256?

A: SHA-256 é uma função de hash de propósito geral projetada para computação rápida, o que é uma fraqueza fatal em cenários de armazenamento de senhas. GPUs podem calcular bilhões de hashes SHA-256 por segundo, tornando até senhas com sal vulneráveis a ataques de força bruta. Vantagens do Argon2: 1) Design lento: Um único hash leva 0,5-1 segundo, reduzindo drasticamente a velocidade de força bruta. 2) Memória intensiva: Requer grande memória (64MB), GPUs e ASICs não podem paralelizar ataques. 3) Custo ajustável: À medida que o hardware melhora, os parâmetros podem ser aumentados para manter a segurança. Conclusão: O armazenamento de senhas deve usar algoritmos especializados de hash de senhas (Argon2, bcrypt, PBKDF2), não funções de hash de propósito geral (SHA-256, MD5).

Q: Qual é o formato da string de hash do Argon2?

A: O Argon2 usa o formato de string PHC (Password Hashing Competition): $argon2id$v=19$m=65536,t=3,p=1$saltbase64$hashbase64.
Significados dos componentes:
$argon2id: Variante do algoritmo (id/i/d).
v=19: Versão do algoritmo (atualmente 19).
m=65536,t=3,p=1: Custo de memória (KB), custo de tempo (iterações), paralelismo.
saltbase64: Sal codificado em Base64 (16 bytes).
hashbase64: Hash codificado em Base64 (32 bytes).
Vantagem: Autocontido com todos os parâmetros, sem necessidade de armazenamento adicional para verificação, facilita futuras atualizações.

Q: Como migrar do bcrypt para o Argon2?

A: Abordagem de migração progressiva: 1) Verificação dupla: Mantenha a lógica de verificação bcrypt, use Argon2 para novos usuários e alterações de senha. 2) Atualização transparente: Quando os usuários fazem login, verifique com bcrypt primeiro, depois re-hasheie imediatamente com Argon2 e atualize o banco de dados em caso de sucesso. 3) Campo identificador: Adicione campo no banco de dados para identificar o tipo de algoritmo de hash (bcrypt/argon2). 4) Migração completa: Após algum tempo (por exemplo, 6 meses), a maioria dos usuários ativos terá migrado, podendo forçar os usuários restantes a redefinir senhas. Nota: bcrypt e Argon2 têm formatos de hash diferentes, podem ser identificados automaticamente pelo prefixo ($2a$ vs $argon2id$).

Q: O Argon2 não será muito lento nos navegadores?

A: O objetivo de design do Argon2 é computação lenta, que é uma garantia de segurança, não uma falha. Usando WebAssembly para calcular Argon2 em navegadores, um único hash leva 0,5-1 segundo, o que tem impacto mínimo na experiência do usuário (usuários esperando 1 segundo após inserir a senha é aceitável). Sugestões de otimização: 1) Computação assíncrona: Use Web Workers para calcular em segundo plano, evite bloquear a UI. 2) Indicador de progresso: Exiba a mensagem “Criptografando...” para melhorar a experiência do usuário. 3) Ajuste de parâmetros: O ambiente do navegador pode reduzir moderadamente o custo de memória (por exemplo, 32MB), mas não abaixo da recomendação mínima do OWASP (47MB). Nota: A verificação do lado do servidor também requer o mesmo tempo de computação, que é o mecanismo central de segurança do Argon2.

Use Cases

Recomendado: Armazenamento de Senhas de Usuários

Este é o principal caso de uso do Argon2. Quando os usuários se registram ou alteram senhas, use Argon2id para fazer hash das senhas e armazenar no banco de dados. Durante o login, extraia a string de hash armazenada, faça hash da senha inserida pelo usuário com os mesmos parâmetros e compare os resultados. As características de memória intensiva do Argon2 tornam os ataques de força bruta extremamente custosos, protegendo as senhas dos usuários mesmo se o banco de dados for comprometido.

Recommended Configuration:
  • ✅ Argon2id (recomendado pelo OWASP, preferido)
  • bcrypt (escolha clássica, fator de custo ≥ 12)
  • PBKDF2-SHA256 (≥ 600k iterações)
  • ❌ Não use SHA-256, MD5 ou outros hashes de propósito geral
Recomendado: Hash de Chaves de API

Chaves de API (como Tokens de API, Chaves de Acesso) geralmente precisam ser armazenadas no banco de dados, mas não devem ser armazenadas em texto simples. Use Argon2 para fazer hash das chaves de API; mesmo se o banco de dados for comprometido, os atacantes não podem obter as chaves originais. Para verificação, faça hash da chave fornecida pelo usuário e compare. Nota: Chaves de API são geralmente strings de alta entropia geradas aleatoriamente, pode-se reduzir moderadamente os parâmetros do Argon2 (por exemplo, t=1, m=32MB) para melhorar o desempenho.

Recommended Configuration:
  • ✅ Argon2id (alta segurança)
  • bcrypt (equilíbrio entre desempenho e segurança)
  • SHA-256 + sal (utilizável para chaves de alta entropia)
  • 💡 Considere usar indexação de prefixo de hash para acelerar consultas
Recomendado: Carteiras de Criptomoedas

Carteiras de criptomoedas precisam de senhas para proteger chaves privadas. Use Argon2d (dependente de dados) para derivar chave de criptografia da senha do usuário, depois use essa chave para criptografar a chave privada. A resistência a GPU do Argon2d torna a força bruta de senhas de carteira extremamente custosa. Nota: Cenários de carteira geralmente usam Argon2d em vez de Argon2id porque o risco de ataque de canal lateral é menor, enquanto a resistência a GPU é mais importante.

Recommended Configuration:
  • ✅ Argon2d (resistente a GPU, recomendado para carteiras)
  • ✅ Argon2id (segurança mais abrangente)
  • scrypt (escolha clássica, usado pelo Bitcoin Core)
  • 💡 Combine com carteiras de hardware para maior segurança
Recomendado: Derivação de Chave de Criptografia de Arquivos

Use Argon2 para derivar chave de criptografia de arquivo da senha do usuário. Após o usuário fornecer a senha, o Argon2 gera uma chave de comprimento fixo (por exemplo, 256 bits), depois use essa chave para criptografar o arquivo (por exemplo, usando AES-256-GCM). O sal e os parâmetros do Argon2 são armazenados no cabeçalho do arquivo; durante a descriptografia, extraia os parâmetros e re-derive a chave. Esta abordagem é amplamente usada em arquivos criptografados (como 7-Zip, WinRAR) e criptografia de disco (como VeraCrypt).

Recommended Configuration:
  • ✅ Argon2id (recomendado)
  • ✅ Argon2i (resistente a canal lateral)
  • scrypt (escolha clássica)
  • 💡 Armazene sal e parâmetros no cabeçalho do arquivo
Recomendado: Códigos de Backup de Autenticação de Dois Fatores

Códigos de backup de autenticação de dois fatores (2FA) precisam ser hasheados antes do armazenamento para evitar abuso se o banco de dados for comprometido. Como os códigos de backup são strings de alta entropia geradas aleatoriamente (tipicamente 8-16 caracteres), pode-se usar parâmetros Argon2 mais baixos (por exemplo, t=1, m=32MB) para melhorar o desempenho. Durante a verificação, faça hash do código de backup inserido pelo usuário e compare; invalide imediatamente o código de backup após verificação bem-sucedida.

Recommended Configuration:
  • ✅ Argon2id (recomendado)
  • bcrypt (melhor desempenho)
  • SHA-256 + sal (utilizável para códigos de backup de alta entropia)
  • 💡 Invalide o código de backup imediatamente após o uso
Não Recomendado: Cenários Sensíveis ao Desempenho em Tempo Real

As características lentas do Argon2 o tornam inadequado para cenários que requerem desempenho extremamente alto, como autenticação de API de alta frequência, login em jogos em tempo real, autenticação de dispositivos IoT, etc. Esses cenários devem usar autenticação baseada em token (como JWT, OAuth) ou gerenciamento de sessão, em vez de hash de senha para cada solicitação. O Argon2 é usado apenas uma vez durante o login do usuário; após verificação bem-sucedida, emita token, solicitações subsequentes usam autenticação por token.

Recommended Configuration:
  • ✅ JWT + HMAC-SHA256 (alto desempenho)
  • ✅ Session + Cookie (abordagem tradicional)
  • ✅ OAuth 2.0 (protocolo padrão)
  • ❌ Não use Argon2 em cenários de alta frequência

Recomendações de Melhores Práticas

  • Argon2id é a melhor escolha para armazenamento de senhas, recomendado para todos os novos projetos. Projetos existentes devem migrar gradualmente de bcrypt/PBKDF2 para Argon2.
  • A configuração de parâmetros segue as recomendações do OWASP: m ≥ 47MB, t ≥ 1, p = 1. Se o desempenho do servidor for bom, pode aumentar o custo de memória para 64MB ou mais.
  • Não use Argon2 em cenários de alta frequência; deve combinar com autenticação por token (JWT, Session) para alto desempenho.
  • Ao migrar do bcrypt, use abordagem progressiva: mantenha verificação bcrypt, use Argon2 para novos usuários e alterações de senha, atualize transparentemente durante o login.
  • O ambiente do navegador usa WebAssembly para calcular Argon2, combine com Web Workers e indicadores de progresso para melhorar a experiência do usuário.

Discussão e Feedback

0 comentários
Eu