DartArgon2State class abstract
State for three Argon2-based algorithms (Argon2d, Argon2i, Argon2id).
If you want to minimize memory allocations, you can re-use the same state for different hash computations.
You can control the number of created isolates with maxIsolates and minBlocksPerSliceForEachIsolate. The default values are usually good.
Constructors
- DartArgon2State({required DartArgon2Mode mode, required int parallelism, required int memory, required int iterations, required int hashLength, int? maxIsolates, int? minBlocksPerSliceForEachIsolate, int? blocksPerProcessingChunk, int version, ByteBuffer? buffer})
-
factory
- DartArgon2State.constructor({int version = 19, required DartArgon2Mode mode, required int parallelism, required int memory, required int iterations, required int hashLength, int? maxIsolates, int? minBlocksPerSliceForEachIsolate, int? blocksPerProcessingChunk})
Properties
- blockCount → int
-
Number of blocks, which may be different from memory.
latefinal
- blocksPerLane → int
-
no setter
- blocksPerProcessingChunk → int?
-
final
- blocksPerSegment → int
-
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- hashLength → int
-
final
- isBufferUsed → bool
-
no setter
- isolateCount → int
-
Number of isolates used by the state.
no setter
- iterations → int
-
final
- maxIsolates → int?
-
final
- memory → int
-
final
- minBlocksPerSliceForEachIsolate → int?
-
final
- mode → DartArgon2Mode
-
final
- parallelism → int
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- version → int
-
final
Methods
-
deriveKeyBytes(
{required List< int> password, List<int> nonce = const [], List<int> optionalSecret = const [], List<int> associatedData = const []}) → Future<List< int> > - Computes result of the given parameters.
-
deriveKeyBytesFromPrehashingDigest(
Uint8List h0) → Future< List< int> > -
gb(
Uint32List data, int a, int b, int c, int d) → void - RFC 9106 function GB(v0,..v3).
-
getBlock(
{required int lane, required int slice, required int index}) → Uint32List -
getByteBuffer(
) → ByteBuffer -
initialize(
{required Uint8List h0}) → void - Initializes the first two blocks of every lane.
-
iterate(
) → Future< void> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
permutation(
Uint32List data, int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7) → void - RFC 9106 function P(v0,...,v7).
-
preHashingDigest(
{required List< int> password, required List<int> nonce, required List<int> optionalSecret, required List<int> associatedData}) → Uint8List - Computes the pre-hashing digest.
-
processBlock(
{required Uint32List output, required Uint32List input0, required Uint32List input1, required bool isXorred}) → void - Processes a block.
-
processSegment(
{required int iteration, required int slice, required int lane}) → Future< void> -
referredBlockIndex(
{required int iteration, required int slice, required int lane, required int index, required int j1, required int j2}) → (int, int) - Finds a block using rules describes in the specification.
-
referredBlockIndexZZ(
int j1, int candidatesLength) → int -
toString(
) → String -
A string representation of this object.
inherited
-
tryReleaseMemory(
) → void - Releases memory.
-
variableLengthHash(
{required Uint8List output, required Uint8List input}) → void - RFC 9106 function H'^T(A).
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited