Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }