public class Argon2Parameters
extends java.lang.Object
Argon2 PBKDF.
Build instances with Argon2Parameters.Builder, e.g.
Argon2Parameters params = new Argon2Parameters.Builder(Argon2Parameters.ARGON2_id)
.withVersion(Argon2Parameters.ARGON2_VERSION_13)
.withSalt(salt)
.withIterations(3)
.withMemoryPowOfTwo(16)
.withParallelism(4)
.build();
| Modifier and Type | Class and Description |
|---|---|
static class |
Argon2Parameters.Builder
Fluent builder for
Argon2Parameters. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ARGON2_d
Argon2d - data-dependent memory access.
|
static int |
ARGON2_i
Argon2i - data-independent memory access.
|
static int |
ARGON2_id
|
static int |
ARGON2_VERSION_10
Argon2 v1.0 (legacy).
|
static int |
ARGON2_VERSION_13
Argon2 v1.3 - the version standardised by RFC 9106.
|
static java.lang.String |
MAX_MEMORY_EXP
System/security property setting the maximum permitted memory exponent
(i.e.
|
static java.lang.String |
MAX_PARALLELISM
System/security property bounding the Argon2 parallelism (lanes) accepted when a key is derived
from untrusted cost parameters - notably an OpenPGP Argon2 S2K specifier.
|
static java.lang.String |
MAX_PASSES
System/security property bounding the number of Argon2 passes (iterations) accepted when a key
is derived from untrusted cost parameters - notably an OpenPGP Argon2 S2K specifier.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Zeroise sensitive state (salt, secret, additional) held by these parameters.
|
byte[] |
getAdditional() |
Argon2BytesGenerator.BlockPool |
getBlockPool() |
CharToByteConverter |
getCharToByteConverter() |
int |
getIterations() |
int |
getLanes() |
int |
getMemory() |
byte[] |
getSalt() |
byte[] |
getSecret() |
int |
getType() |
int |
getVersion() |
public static final java.lang.String MAX_MEMORY_EXP
memory <= 1 << MAX_MEMORY_EXP). Defaults to 24 (16 GiB); the property may be
raised up to a ceiling of 30. The default was lowered from the historical 30 (1 TiB) so that a
single key derivation driven by attacker-chosen cost parameters - notably an OpenPGP Argon2 S2K
specifier read from an unauthenticated packet - cannot exhaust the heap of a typical host.public static final java.lang.String MAX_PASSES
Properties.asInteger(java.lang.String, int).public static final java.lang.String MAX_PARALLELISM
Properties.asInteger(java.lang.String, int).public static final int ARGON2_d
public static final int ARGON2_i
public static final int ARGON2_id
public static final int ARGON2_VERSION_10
public static final int ARGON2_VERSION_13
public byte[] getSalt()
public byte[] getSecret()
public byte[] getAdditional()
public int getIterations()
public int getMemory()
public int getLanes()
public int getVersion()
ARGON2_VERSION_10 or ARGON2_VERSION_13).public int getType()
public CharToByteConverter getCharToByteConverter()
char[] passwords.public Argon2BytesGenerator.BlockPool getBlockPool()
Argon2BytesGenerator.BlockPool, or null if the generator should use its default per-call pool.public void clear()