Ejemplo n.º 1
0
        public static string GetAssetHash(FileInfo assetFile, IAssetMeta metaFile)
        {
            using var hash = SHA256.Create();
            using var fs   = assetFile.OpenRead();
            using var ms   = new MemoryStream();

            metaFile.WriteToStream(ms);
            ms.Seek(0, SeekOrigin.Begin);

            var fileHash = hash.ComputeHash(fs);
            var metaHash = hash.ComputeHash(ms);

            for (int i = 0; i < fileHash.Length; i++)
            {
                fileHash[i] ^= metaHash[i];
            }

            return(ByteArrayToString(fileHash));
        }