public static bool CheckContentIntegrity(string filePath, long size, string crc) { try { if (File.Exists(filePath) == false) { return(false); } // 先验证文件大小 long fileSize = FileUtility.GetFileSize(filePath); if (fileSize != size) { return(false); } // 再验证文件CRC string fileCRC = HashUtility.FileCRC32(filePath); return(fileCRC == crc); } catch (Exception) { return(false); } }
/// <summary> /// 获取沙盒内补丁清单文件的哈希值 /// 注意:如果沙盒内补丁清单文件不存在,返回空字符串 /// </summary> private string GetSandboxPatchManifestFileHash(int updateResourceVersion) { string filePath = PathHelper.MakePersistentLoadPath(YooAssetSettingsData.GetPatchManifestFileName(updateResourceVersion)); if (File.Exists(filePath)) { return(HashUtility.FileMD5(filePath)); } else { return(string.Empty); } }