saveEncrypted method

String saveEncrypted({
  1. String filename = encryptedWorldFilename,
})

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;
}