public static class Argon2Parameters.Builder
extends java.lang.Object
Argon2Parameters.| Constructor and Description |
|---|
Builder()
Create a builder defaulting to
Argon2Parameters.ARGON2_i. |
Builder(int type)
Create a builder for the given Argon2 variant.
|
| Modifier and Type | Method and Description |
|---|---|
Argon2Parameters |
build()
Construct an immutable
Argon2Parameters from the current builder state. |
void |
clear()
Zeroise sensitive state (salt, secret, additional) held by this builder.
|
Argon2Parameters.Builder |
withAdditional(byte[] additional)
Set the optional additional/associated data.
|
Argon2Parameters.Builder |
withBlockPool(Argon2BytesGenerator.BlockPool blockPool)
Provide a custom
Argon2BytesGenerator.BlockPool for the generator to source its
working blocks from. |
Argon2Parameters.Builder |
withCharToByteConverter(CharToByteConverter converter)
Override the converter used to turn
char[] passwords into bytes. |
Argon2Parameters.Builder |
withIterations(int iterations)
Set the number of passes (time cost).
|
Argon2Parameters.Builder |
withMemoryAsKB(int memory)
Set the memory cost expressed directly in KiB.
|
Argon2Parameters.Builder |
withMemoryPowOfTwo(int memory)
Set the memory cost as a power of two: the resulting memory in KiB is
1 << memory. |
Argon2Parameters.Builder |
withParallelism(int parallelism)
Set the parallelism (number of lanes).
|
Argon2Parameters.Builder |
withSalt(byte[] salt)
Set the salt.
|
Argon2Parameters.Builder |
withSecret(byte[] secret)
Set the optional secret (key) value.
|
Argon2Parameters.Builder |
withVersion(int version)
Set the Argon2 version.
|
public Builder()
Argon2Parameters.ARGON2_i.public Builder(int type)
type - one of Argon2Parameters.ARGON2_d, Argon2Parameters.ARGON2_i,
or Argon2Parameters.ARGON2_id.public Argon2Parameters.Builder withParallelism(int parallelism)
parallelism - the degree of parallelism, must be at least 1.public Argon2Parameters.Builder withSalt(byte[] salt)
salt - salt bytes; may be null.public Argon2Parameters.Builder withSecret(byte[] secret)
secret - secret bytes; may be null.public Argon2Parameters.Builder withAdditional(byte[] additional)
additional - additional data bytes; may be null.public Argon2Parameters.Builder withIterations(int iterations)
iterations - number of iterations, must be at least 1.public Argon2Parameters.Builder withMemoryAsKB(int memory)
memory - memory in KiB; must be in [1, 1 << MAX_MEMORY_EXP].java.lang.IllegalArgumentException - if the value is out of range.public Argon2Parameters.Builder withMemoryPowOfTwo(int memory)
1 << memory.memory - exponent; must be in [0, MAX_MEMORY_EXP].java.lang.IllegalArgumentException - if the exponent is out of range.public Argon2Parameters.Builder withVersion(int version)
version - one of Argon2Parameters.ARGON2_VERSION_10 or Argon2Parameters.ARGON2_VERSION_13.public Argon2Parameters.Builder withCharToByteConverter(CharToByteConverter converter)
char[] passwords into bytes.
Default is PasswordConverter.UTF8.converter - the character-to-byte converter to use.public Argon2Parameters.Builder withBlockPool(Argon2BytesGenerator.BlockPool blockPool)
Argon2BytesGenerator.BlockPool for the generator to source its
working blocks from. Useful in high-throughput scenarios where the
cost of allocating fresh long[] buffers per call dominates.
If null (the default) the generator creates a per-call FixedBlockPool.public Argon2Parameters build()
Argon2Parameters from the current builder state.public void clear()