Encryptor constructor

Encryptor({
  1. OtpCryptoConfig? config,
  2. NonceGenerator? nonceGenerator,
})

Creates an Encryptor bound to a given OtpCryptoConfig.

config Defaults to the global singleton OtpCryptoConfig.instance. nonceGenerator Defaults to a CSPRNG-backed generator.

HINT: Pass a FixedNonceGenerator in tests for stable outputs.

Implementation

Encryptor({
  OtpCryptoConfig? config,
  NonceGenerator? nonceGenerator,
})  : _cfg = config ?? OtpCryptoConfig.instance,
      _nonceGen = nonceGenerator ?? NonceGenerator.defaultGenerator(),
      _keys = HkdfSha256.deriveKeys(
        masterKey: (config ?? OtpCryptoConfig.instance).masterKey,
        salt: (config ?? OtpCryptoConfig.instance).hkdfSalt,
        info: (config ?? OtpCryptoConfig.instance).hkdfInfo,
      );