i am using encrypt package to encrypt and decrypt my plaintext. i have followed the examples in https://pub.dev/packages/encrypt. it encrypts and decrypts successfully until i hot restart my app. after i hot restart, the it returns the following error: Invalid or corrupted pad block. the plaintext are encrypted and uploaded to Firestore and for decryption, it is retrieved from Firestore and decrypted. tia for all inputs
import 'package:encrypt/encrypt.dart';
// Generate a key and IV for encryption
final Key key = Key.fromUtf8('my 32 length key................');
final IV iv = IV.fromLength(16);
final Encrypter encrypter = Encrypter(AES(key));
// Encrypt message
String encryptMessage(String plainTextMessage) {
final Encrypted encrypted = encrypter.encrypt(plainTextMessage, iv: iv);
return encrypted.base64;
}
// Decrypt message
String decryptMessage(String encryptedMessage) {
final Encrypted encrypted = Encrypted.fromBase64(encryptedMessage);
final String decrypted = encrypter.decrypt(encrypted, iv: iv);
return decrypted;
}
6