Blake2b.blake2b constructor

Blake2b.blake2b(
  1. Uint8List? key,
  2. int digestSize,
  3. Uint8List? salt,
  4. Uint8List? personalization,
)

Implementation

Blake2b.blake2b(final Uint8List? key, final int digestSize, final Uint8List? salt, final Uint8List? personalization) {
  this._buffer = Uint8List(Const.blockLengthBytes);
  assert(1 <= digestSize && digestSize <= 64);
  this._digestSize = digestSize;

  if (null != salt) {
    assert(salt.length == 16);
    this._salt!.addAll(salt);
  }

  if (null != personalization) {
    assert(personalization.length == 16);
    this._personalization!.addAll(personalization);
  }

  if (null != key) {
    this._key!.addAll(key);
    this._keyLength = key.length;

    this._buffer.addAll(key);
    this._bufferPos = Const.blockLengthBytes; // zero padding
  }

  init();
}