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 await uc.pbkdf2(
      Uint8List.fromList(utf8.encode(passphrase)),
      Uint8List.fromList(utf8.encode(info.salt!)),
      uc.sha512,
      info.iterations!,
      info.bits ?? 256);
}