Minecraft-Forge:JSON 文件哈希

本文关键字:哈希 文件 JSON Minecraft-Forge | 更新日期: 2023-09-27 18:34:19

我目前正在为带有锻造的《我的世界》开发启动器。我现在面临的问题是关于哈希。香草的哈希是SHA1哈希,这没关系。(这里以 https://s3.amazonaws.com/Minecraft.Download/versions/1.7.10/1.7.10.json 为例(我也必须检查伪造的哈希值,我有这个 JSON 文件:https://github.com/MinecraftForge/FML/blob/master/jsons/1.7.10-rel.json。如您所见,每个库都有一个包含两个值的校验和字段。现在我的问题是:它们是什么?我想它们是文件的某种哈希值,而不是名称。我试图检查SHA1和MD5,但它们并不相同。我什至不明白为什么有两个值。有人对此有解释吗?

Minecraft-Forge:JSON 文件哈希

据我所知,这两个校验和分别是 MD5 和 SHA1。它们与 JSON 文件根据每个库的 url 标记引用的 Maven 存储库相关。锻造神器可能遵循这个:https://blog.packagecloud.io/eng/2017/03/09/how-does-a-maven-repository-work/#checksumasc

简而言之,前面的 URL 简要解释了 Maven 存储库的工作原理,并引用了这两个校验和作为下载验证。另一个关于创建 Maven 校验和的参考也指出它们是成对出现的:Maven 校验和 pom 设置?

这是一个可以与校验和交互的插件:http://checksum-maven-plugin.nicoulaj.net/

dr 这些是 MD5 和 SHA1 对中的 Maven 存储库校验。在 C# 设置中,有许多选项可以验证两者:

  • https://dzone.com/articles/generating-md5-and-sha1

        public static void ComputeMD5Hash(object filePath)
        {
            using (var stream = new FileStream((string)filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                using (var md5gen = new MD5CryptoServiceProvider())
                {
                    md5gen.ComputeHash(stream);
                    Program.MD5Hash = BitConverter.ToString(md5gen.Hash).Replace("-", "").ToLower();
                }
            }
        }
    
  • 计算文件的 MD5 校验和