void LoadFromStreamImpl()
        {
            var path = SamplePathUtility.GetAssetBundlePath(CurrentCompressType, IsEncrypt);

            GC.Collect();
            Profiler.BeginSample($"        >>> LoadFromStream {CurrentCompressType}, {IsEncrypt}");

            if (IsEncrypt)
            {
                using (var reader = new FileStream(path, FileMode.Open))
                    using (var cryptStream = new SeekableAesStream(reader, EncryptHelper.Password, EncryptHelper.UniqueSalt))
                    {
                        var bundle = AssetBundle.LoadFromStream(cryptStream);
                        ApplyImages(bundle);
                    }
            }
            else
            {
                using (var reader = new FileStream(path, FileMode.Open))
                {
                    var bundle = AssetBundle.LoadFromStream(reader);
                    ApplyImages(bundle);
                }
            }

            Profiler.EndSample();
        }
Beispiel #2
0
 public static void ExportEncryptBinary(byte[] bytes, string exportPath)
 {
     using (var baseStream = File.Create(exportPath))
         using (var cryptStream = new SeekableAesStream(baseStream, Password, UniqueSalt))
         {
             cryptStream.Write(bytes, 0, bytes.Length);
         }
 }
Beispiel #3
0
 public static byte[] DecryptBinary(string decryptFilePath)
 {
     using (var baseStream = new FileStream(decryptFilePath, FileMode.Open, FileAccess.ReadWrite))
         using (var cryptStream = new SeekableAesStream(baseStream, Password, UniqueSalt))
         {
             var fileInfo        = new FileInfo(decryptFilePath);
             var decryptedBuffer = new byte[fileInfo.Length];
             cryptStream.Read(decryptedBuffer, 0, (int)fileInfo.Length);
             return(decryptedBuffer);
         }
 }