createAesEncryptionCodec function

SembastCodec createAesEncryptionCodec(
  1. List<int> key
)

Creates an AES-256-CBC SembastCodec for database encryption.

key must be 32 bytes. Use getOrCreateDbKey to obtain a key from secure storage.

Implementation

SembastCodec createAesEncryptionCodec(List<int> key) {
  if (key.length != 32) {
    throw ArgumentError('Encryption key must be 32 bytes, got ${key.length}');
  }
  final enc = Encrypter(AES(Key(Uint8List.fromList(key)), mode: AESMode.cbc));
  final codec = _AesSembastCodec(enc);

  return SembastCodec(
    signature: 'plex-aes-256-cbc',
    codec: codec,
  );
}