public class Argon2BytesGenerator
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Argon2BytesGenerator.Block
A single 1024-byte memory block used by the Argon2 mixing function.
|
static interface |
Argon2BytesGenerator.BlockPool
Strategy for allocating and recycling Argon2
Argon2BytesGenerator.Block objects. |
static class |
Argon2BytesGenerator.FixedBlockPool
Bounded pool that recycles up to
maxBlocks Argon2BytesGenerator.Block objects. |
| Constructor and Description |
|---|
Argon2BytesGenerator() |
| Modifier and Type | Method and Description |
|---|---|
int |
generateBytes(byte[] password,
byte[] out) |
int |
generateBytes(byte[] password,
byte[] out,
int outOff,
int outLen) |
int |
generateBytes(char[] password,
byte[] out) |
int |
generateBytes(char[] password,
byte[] out,
int outOff,
int outLen) |
static int |
getBlockCount(int memory,
int lanes)
Return the number of
Argon2BytesGenerator.Blocks a generator takes from its Argon2BytesGenerator.BlockPool for the
given memory size and degree of parallelism: the primary memory, after the alignment Argon2
applies to it, plus the blocks the fill step works in. |
void |
init(Argon2Parameters parameters)
Initialise the Argon2BytesGenerator from the parameters.
|
public void init(Argon2Parameters parameters)
parameters - Argon2 configuration.public static int getBlockCount(int memory,
int lanes)
Argon2BytesGenerator.Blocks a generator takes from its Argon2BytesGenerator.BlockPool for the
given memory size and degree of parallelism: the primary memory, after the alignment Argon2
applies to it, plus the blocks the fill step works in. This is the size to give a
Argon2BytesGenerator.FixedBlockPool that is to recycle every block of a run - the alignment rules are an
implementation detail and are not to be replicated by callers.memory - the memory size in 1K blocks, as passed to
Argon2Parameters.Builder#withMemoryAsKB(int).lanes - the degree of parallelism, as passed to
Argon2Parameters.Builder#withParallelism(int).public int generateBytes(char[] password,
byte[] out)
public int generateBytes(char[] password,
byte[] out,
int outOff,
int outLen)
public int generateBytes(byte[] password,
byte[] out)
public int generateBytes(byte[] password,
byte[] out,
int outOff,
int outLen)