createAesEncryptionCodec function
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,
);
}