public static interface Argon2BytesGenerator.BlockPool
Argon2BytesGenerator.Block objects.
An implementation may simply return fresh blocks from
allocate() (the default behaviour) or pool them so the
underlying long[] buffers can be reused across successive
generateBytes calls. Implementations must accept matching
allocate/deallocate pairs - the generator does not guard against
double-deallocation of the same block.
The generator zeroises a block before passing it to
#deallocate(Block), so an implementation never receives
password-derived data and need not clear anything itself; a block it
hands out from allocate() may be returned as it came back.
Argon2BytesGenerator.Block.clear() is public for an implementation that wants to
zeroise blocks it obtained some other way. Size a pool that is to
recycle a whole run with
Argon2BytesGenerator.getBlockCount(int, int).
| Modifier and Type | Method and Description |
|---|---|
Argon2BytesGenerator.Block |
allocate() |
void |
deallocate(Argon2BytesGenerator.Block block) |
Argon2BytesGenerator.Block allocate()
void deallocate(Argon2BytesGenerator.Block block)