Cryptography
Argon2 password hash generator
Argon2 Hash computes the Argon2id password hash with parameters you set (memory up to 65536 KiB, up to 10 iterations, parallelism up to 4) and returns one encoded string. Developers auditing credential storage or comparing hashing libraries use it to see how the PHC format carries version, cost, salt and digest. Leave the "Salt" box empty for a fresh random salt per run, or enter one for a reproducible result. The computation runs on a WebAssembly build of Argon2 in your browser.
How to use Argon2 Hash
- Open Argon2 Hash in the Toolbox101 app.
- Type a password into the
Passwordbox and adjustMemory (KiB),IterationsandParallelismif needed. - Leave
Salt (optional)empty for a fresh random salt on every run, or enter one (hex or text) to make the result reproducible. - Click
Generate Newand read the encoded$argon2id$hash in theOutputbox. An out-of-range parameter is reported there. - Click
Copyto take the$argon2id$string. It embeds the version, cost parameters, salt and digest, so any verifier can check it.
Worked example
Argon2 Hash returns the output below for this combination.
Input
MyPasswordKey
000102030405060708090a0b0c0d0e0fOutput
$argon2id$v=19$m=65536,t=3,p=1$AAECAwQFBgcICQoLDA0ODw$Lg9NLYg02d7QzFGhdm2tlP92eCdMFKn1surnrzs8nZYCheck it yourself: open Argon2 Hash and enter the same input and key.
Frequently asked questions
What does the $argon2id$ output contain?
The output is a PHC (Password Hashing Competition) string that encodes everything needed for verification: version 19 of Argon2, memory size m in KiB, iterations t, parallelism p, the base64 salt, and the base64 digest, which the tool writes as 32 bytes. Read the m, t, and p fields to know what a hash cost before you trust it.
Why does the hash change when I type the same password?
With the Salt box empty, every run draws a fresh random salt, and Argon2 mixes the salt into the digest, so each result differs. Typing a fixed salt (hex text is decoded as bytes, any other text is used as UTF-8) makes the run deterministic: the same password, salt, and parameters produce the same hash.
Which memory, iterations, and parallelism should I use?
The boxes start at 65536 KiB of memory, 3 iterations, and parallelism 1, the example's settings. Raising memory or iterations slows every attempt, yours included, which is the point for stored credentials: OWASP's sample Argon2id parameters are 19456 KiB, 2 iterations, parallelism 1. The boxes accept 8 to 65536 KiB, 1 to 10 iterations, and 1 to 4 for parallelism, and memory must stay at least 8 times parallelism.
How does Argon2id compare with scrypt and bcrypt?
Argon2id won the Password Hashing Competition and is OWASP's recommended password hash: it is memory-hard, so cracking scales badly on GPUs, and its hybrid i/d design also resists side-channel leakage. Bcrypt is weaker against dedicated hardware and caps passwords at 72 bytes. Scrypt, a sibling tool here, is also memory-hard where it is already built in. Argon2id is the usual first choice for new systems.