deriveKey method

Future<List<int>> deriveKey({
  1. required String passphrase,
  2. required DerivationArtefacts artefacts,
})
override

Implementation

Future<List<int>> deriveKey(
    {required String passphrase, required DerivationArtefacts artefacts}) async {
  final pbkdf2 = Pbkdf2(
    macAlgorithm: Hmac(Sha256()),
    iterations: artefacts.iterations,
    bits: artefacts.length * 8,
  );

  final secretKey = SecretKey(utf8.encode(passphrase));

  return pbkdf2
      .deriveKey(secretKey: secretKey, nonce: artefacts.salt)
      .then((value) => value.extractBytes());
}