deriveServerSecretsAsync static method

Future<ScramServerSecrets> deriveServerSecretsAsync({
  1. required String secret,
  2. required String salt,
  3. String kdf = kdfPbkdf2,
  4. int iterations = CraAuthentication.defaultIterations,
  5. int? memory,
  6. Duration timeout = const Duration(seconds: 30),
  7. ScramKeyDeriver? keyDeriver,
  8. AuthenticationStringEncoding stringEncoding = AuthenticationStringEncoding.utf8,
})

Implementation

static Future<ScramServerSecrets> deriveServerSecretsAsync({
  required String secret,
  required String salt,
  String kdf = kdfPbkdf2,
  int iterations = CraAuthentication.defaultIterations,
  int? memory,
  Duration timeout = const Duration(seconds: 30),
  ScramKeyDeriver? keyDeriver,
  AuthenticationStringEncoding stringEncoding =
      AuthenticationStringEncoding.utf8,
}) async {
  final saltedPassword = await deriveSaltedPasswordAsync(
    secret: secret,
    salt: salt,
    kdf: kdf,
    iterations: iterations,
    memory: memory,
    timeout: timeout,
    keyDeriver: keyDeriver,
    stringEncoding: stringEncoding,
  );
  try {
    return _serverSecretsFromSaltedPassword(saltedPassword);
  } finally {
    _clear(saltedPassword);
  }
}