Os padrões seguem o perfil Argon2id da OWASP (64 MiB, 3 passagens). O primeiro hash também carrega o runtime WASM (~25 KB) - tudo roda no seu navegador.
-
-
Argon2id - vencedor da Password Hashing Competition. Memory-hard: o custo é definido pela RAM, não pela velocidade da CPU, então GPUs e ASICs não dão vantagem a um atacante. 100% no cliente (WASM) - suas senhas nunca saem do seu dispositivo.
O que faz
A ferramenta Argon2
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
& Verify gera hashes de senhas com Argon2id - o vencedor da PasswordHashingHashingA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Competition de 2015 e o substituto moderno de bcrypt e PBKDF2 - e verifica hashes Argon2 existentes. Você controla os três parâmetros de custo: memória (padrão 64 MiB), iterações (padrão 3 passagens) e paralelismo (lanes). Tudo roda no seu navegador via WebAssembly: as senhas nunca saem do seu dispositivo.A saída é uma PHC string autossuficiente que você pode armazenar direto em um banco de dados:
$argon2id$v=19$m=65536,t=3,p=1$<salt>$<hash>
Ela embute o algoritmo, a versão, todos os parâmetros de custo, o
saltsaltRandom data mixed into each password before hashing, so identical passwords produce different digests and precomputed tables become useless.
aleatório e o digest - então a verificação não precisa de nada além da string e da senha.Como usar
- Escolha
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
, digite a senha e, opcionalmente, ajuste memória / iterações / paralelismo / tamanho dohashhashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
. - Pressione
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
- copie a string PHC codificada (o que você armazena) ou o digest hex bruto. - Para conferir uma senha contra um
hashhashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
armazenado, mude para Verify, cole a string$argon2id$…e pressione Verify - a ferramenta também mostra os parâmetros extraídos da string.
Exemplos
- Cadastro de novo usuário (analogia server-side):
argon2Hash(password)→ armazene a string codificada na sua linha deusers. No login,argon2Verify(encoded, password)decide a correspondência. - Checagem entre implementações:
password/somesalt, m=65536, t=2, p=4, digest de 32 bytes →1a9677b0afe81fda…- idêntico agolang.org/x/crypto/argon2com as mesmas entradas. - Ajuste fino: m=19456 (19 MiB), t=2, p=1 é o perfil mínimo aceitável da OWASP; m=65536, t=3, p=1 (o padrão desta ferramenta) é o recomendado.
Bom saber
- Por que memory-hardness importa: bcrypt e PBKDF2 custam apenas tempo de CPU. O custo do Argon2id é definido por RAM - um atacante precisa dedicar 64 MiB de memória por tentativa, então GPUs (núcleos rápidos, pouca memória por núcleo) e ASICs perdem a vantagem. Um laptop e um farm de GPUs pagam praticamente o mesmo por tentativa.
- Argon2id especificamente: Argon2i é resistente a side-channel (acesso à memória independente dos dados, para rodar em servidores); Argon2d é resistente a ataques de GPU. Argon2id é o híbrido recomendado para armazenamento de senhas.
- Armazene a string codificada, não o digest hex - a string PHC carrega os parâmetros e o
saltsaltRandom data mixed into each password before hashing, so identical passwords produce different digests and precomputed tables become useless.
, então logins futuros não dependem da configuração de hoje. - Verifique qualquer variante: a ferramenta detecta automaticamente argon2d / argon2i / argon2id a partir da própria string.
- Privado: o
hashhashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
roda 100% no cliente em WASM (Argon2 de referência v1.0.2) - seguro para senhas reais. - Ferramentas relacionadas: Password Generator, Passphrase Generator, Password Strength Analyser,
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator.