mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-17 21:30:13 +00:00
test : 修改资源清单加密解密测试用例
This commit is contained in:
@@ -72,7 +72,8 @@ public static class TestPackageBuilder
|
||||
buildParameters.UseAssetDependencyDB = true;
|
||||
buildParameters.BuiltinShadersBundleName = builtinShaderBundleName;
|
||||
buildParameters.EncryptionServices = new TestFileStreamEncryption();
|
||||
buildParameters.ManifestServices = new TestProcessManifest();
|
||||
buildParameters.ManifestProcessServices = new TestProcessManifest();
|
||||
buildParameters.ManifestRestoreServices = new TestRestoreManifest();
|
||||
|
||||
var pipeline = new ScriptableBuildPipeline();
|
||||
BuildResult buildResult = pipeline.Run(buildParameters, false);
|
||||
@@ -110,7 +111,8 @@ public static class TestPackageBuilder
|
||||
buildParameters.ClearBuildCacheFiles = true;
|
||||
buildParameters.UseAssetDependencyDB = true;
|
||||
buildParameters.EncryptionServices = new TestFileStreamEncryption();
|
||||
buildParameters.ManifestServices = new TestProcessManifest();
|
||||
buildParameters.ManifestProcessServices = new TestProcessManifest();
|
||||
buildParameters.ManifestRestoreServices = new TestRestoreManifest();
|
||||
|
||||
var pipeline = new BuiltinBuildPipeline();
|
||||
BuildResult buildResult = pipeline.Run(buildParameters, false);
|
||||
|
||||
@@ -6,24 +6,31 @@ using UnityEngine;
|
||||
using NUnit.Framework;
|
||||
using YooAsset;
|
||||
|
||||
public class TestProcessManifest : IManifestServices
|
||||
public class TestProcessManifest : IManifestProcessServices
|
||||
{
|
||||
public byte[] ProcessManifest(byte[] fileData)
|
||||
byte[] IManifestProcessServices.ProcessManifest(byte[] fileData)
|
||||
{
|
||||
return XorProcess(fileData, "YOO");
|
||||
}
|
||||
public byte[] RestoreManifest(byte[] fileData)
|
||||
{
|
||||
return XorProcess(fileData, "YOO");
|
||||
return XorCrypto.Crypto(fileData, "YOO");
|
||||
}
|
||||
}
|
||||
|
||||
public class TestRestoreManifest : IManifestRestoreServices
|
||||
{
|
||||
byte[] IManifestRestoreServices.RestoreManifest(byte[] fileData)
|
||||
{
|
||||
return XorCrypto.Crypto(fileData, "YOO");
|
||||
}
|
||||
}
|
||||
|
||||
public class XorCrypto
|
||||
{
|
||||
/// <summary>
|
||||
/// 使用异或加密/解密字节数组
|
||||
/// </summary>
|
||||
/// <param name="data">输入数据</param>
|
||||
/// <param name="key">加密密钥</param>
|
||||
/// <returns>处理后的字节数组</returns>
|
||||
public static byte[] XorProcess(byte[] data, byte[] key)
|
||||
public static byte[] Crypto(byte[] data, byte[] key)
|
||||
{
|
||||
if (data == null)
|
||||
throw new ArgumentNullException(nameof(data));
|
||||
@@ -47,9 +54,9 @@ public class TestProcessManifest : IManifestServices
|
||||
/// <param name="data">输入数据</param>
|
||||
/// <param name="key">字符串密钥</param>
|
||||
/// <returns>处理后的字节数组</returns>
|
||||
public static byte[] XorProcess(byte[] data, string key)
|
||||
public static byte[] Crypto(byte[] data, string key)
|
||||
{
|
||||
byte[] keyBytes = System.Text.Encoding.UTF8.GetBytes(key);
|
||||
return XorProcess(data, keyBytes);
|
||||
return Crypto(data, keyBytes);
|
||||
}
|
||||
}
|
||||
@@ -61,10 +61,10 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
// 初始化资源包
|
||||
var initParams = new OfflinePlayModeParameters();
|
||||
var fileDecryption = new TestFileStreamDecryption();
|
||||
var manifestProcess = new TestProcessManifest();
|
||||
var manifestServices = new TestRestoreManifest();
|
||||
initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(fileDecryption, packageRoot);
|
||||
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true);
|
||||
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestProcess);
|
||||
initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices);
|
||||
var initializeOp = package.InitializeAsync(initParams);
|
||||
yield return initializeOp;
|
||||
if (initializeOp.Status != EOperationStatus.Succeed)
|
||||
|
||||
@@ -46,13 +46,13 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
// 初始化资源包
|
||||
var initParams = new HostPlayModeParameters();
|
||||
var fileDecryption = new TestFileStreamDecryption();
|
||||
var manifestProcess = new TestProcessManifest();
|
||||
var manifestServices = new TestRestoreManifest();
|
||||
|
||||
string hostServerIP = "http://127.0.0.1/CDN/Android/Test/";
|
||||
var remoteServices = new TestRemoteServices(hostServerIP);
|
||||
initParams.BuildinFileSystemParameters = null;
|
||||
initParams.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices, fileDecryption);
|
||||
initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestProcess);
|
||||
initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices);
|
||||
var initializeOp = package.InitializeAsync(initParams);
|
||||
yield return initializeOp;
|
||||
if (initializeOp.Status != EOperationStatus.Succeed)
|
||||
|
||||
Reference in New Issue
Block a user