public static void EncryptFile(System.IO.FileInfo src, DirectoryInfo des) { try { if (File.Exists(src.FullName)) { byte[] srcbyte = File.ReadAllBytes(src.FullName); byte[] retbyte; if (IsEncryptBatch) { retbyte = ConfigEncrypt.Encrypt(srcbyte); } else { retbyte = ConfigEncrypt.Decrypt(srcbyte); } string despath = des.FullName + "//" + src.Name; File.WriteAllBytes(despath, retbyte); } } catch (Exception e) { UnityEngine.Debug.LogError("加密文件出错" + e.Message); } }
public static void HandleConfigBundle() { string tempLuaDir = ConfigConst.tempconfigDir; if (Directory.Exists(tempLuaDir)) { Directory.Delete(ConfigConst.tempconfigDir); } Directory.CreateDirectory(tempLuaDir); string sourceDir = ConfigConst.configDir; string[] files = Directory.GetFiles(sourceDir, "*", SearchOption.AllDirectories); int len = sourceDir.Length; if (sourceDir[len - 1] == '/' || sourceDir[len - 1] == '\\') { --len; } for (int j = 0; j < files.Length; j++) { if (files[j].Contains("DS_Store")) { continue; } if (files[j].Contains("meta")) { continue; } string str = files[j].Remove(0, len); string dest = tempLuaDir + str; string dir = Path.GetDirectoryName(dest); Directory.CreateDirectory(dir); byte[] srcbyte = System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(files[j])); byte[] enbyte = ConfigEncrypt.Encrypt(srcbyte); File.WriteAllBytes(dest, enbyte); } AssetDatabase.Refresh(); }