saveEncrypted method
Save the given world with a random encryption key.
The encryption key will be returned.
Implementation
String saveEncrypted({final String filename = encryptedWorldFilename}) {
final file = File(filename);
final encryptionKey = SecureRandom(32).base64;
final key = Key.fromBase64(encryptionKey);
final iv = IV.fromLength(16);
final encrypter = Encrypter(AES(key));
final data = encrypter
.encrypt(
getWorldJsonString(compact: false),
iv: iv,
)
.bytes;
file.writeAsBytesSync(data);
return encryptionKey;
}