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