using System; using System.IO; using YooAsset; namespace TEngine.Editor.Resource { public class FileOffsetEncryption : IEncryptionServices { public EncryptResult Encrypt(EncryptFileInfo fileInfo) { int offset = 32; byte[] fileData = File.ReadAllBytes(fileInfo.FilePath); var encryptedData = new byte[fileData.Length + offset]; Buffer.BlockCopy(fileData, 0, encryptedData, offset, fileData.Length); EncryptResult result = new EncryptResult(); result.LoadMethod = EBundleLoadMethod.LoadFromFileOffset; result.EncryptedData = encryptedData; return result; } } public class FileStreamEncryption : IEncryptionServices { public EncryptResult Encrypt(EncryptFileInfo fileInfo) { // LoadFromStream var fileData = File.ReadAllBytes(fileInfo.FilePath); for (int i = 0; i < fileData.Length; i++) { fileData[i] ^= 128; } EncryptResult result = new EncryptResult(); result.LoadMethod = EBundleLoadMethod.LoadFromStream; result.EncryptedData = fileData; return result; } } }