keyFromPassphrase static method

Future<Uint8List> keyFromPassphrase(
  1. String passphrase,
  2. PassphraseInfo info
)

Implementation

static Future<Uint8List> keyFromPassphrase(
  String passphrase,
  PassphraseInfo info,
) async {
  if (info.algorithm != AlgorithmTypes.pbkdf2) {
    throw InvalidPassphraseException('Unknown algorithm');
  }
  if (info.iterations == null) {
    throw InvalidPassphraseException('Passphrase info without iterations');
  }
  if (info.salt == null) {
    throw InvalidPassphraseException('Passphrase info without salt');
  }
  return CryptoUtils.pbkdf2(
    passphrase: Uint8List.fromList(utf8.encode(passphrase)),
    salt: Uint8List.fromList(utf8.encode(info.salt!)),
    iterations: info.iterations!,
  );
}