public static void Save(SaveFile file) { if (file == null) { return; } string path = getPathToFile(file); byte[] rawData = file.GetRawData(); Debug.Log("GZipCompress()"); byte[] zippeddata = Utilities.GZipCompress(rawData); Debug.Log("GZipCompress() - done"); byte[] randomIV = RandomCryptoManager.GetBytes(32); byte[] encryptedData = AES.Encrypt(zippeddata, getGarbledData(), randomIV); byte[] fileData = randomIV.CombinedWith(encryptedData); File.WriteAllBytes(path, fileData); }
private static string GetSaveFolderName() { string[] folders = Directory.GetDirectories(PathToSaveFolder); string saveFolder = folders.FirstOrDefault(x => x.Split(Path.DirectorySeparatorChar).Last().StartsWith("" + 0 + 0 + 0)); string name; if (saveFolder == null) { name = "" + 0 + 0 + 0 + RandomCryptoManager.GetString(10, RandomCryptoManager.ASCII_ALPHA_NUMERIC_CHARS); saveFolder = Utilities.BuildPathFromParts(PathToSaveFolder, name); Directory.CreateDirectory(saveFolder); } else { name = saveFolder.Split(Path.DirectorySeparatorChar).Last(); } return(name); }