【问题标题】:Add file path to the MD5 hash calculation将文件路径添加到 MD5 哈希计算中
【发布时间】:2012-01-18 10:04:24
【问题描述】:

我一直在搜索,但找不到任何关于它的信息。我想知道是否可以将文件的文件路径添加到MD5哈希码的计算中。

现在我的计算正常工作,它为所有不同的文件返回唯一的哈希码。但是如果我复制粘贴一个文件,它会返回相同的哈希码。

那么是否可以在计算中添加til文件路径?

BR

【问题讨论】:

    标签: c# md5sum


    【解决方案1】:

    MD5 哈希只是一种用于获取一些二进制数据并从中创建 128 位哈希值的算法。

    如何确定要散列的二进制数据完全取决于您。如果这对您有用,那么(比如说)包含文件路径然后包含文件的内容(反之亦然)是完全合理的。通常不是,因为您通常想要验证您是否拥有与最初拥有的数据相同的数据,并且文件位置的元数据通常不是“有用”信息的一部分被检查。您通常想要复制/粘贴给您相同的哈希码。但如果你处于不同的情况,那也没关系。

    【讨论】:

      【解决方案2】:

      MD5 只是一个散列,它完全取决于你的散列,所以如果你传递完整的路径,它会将它添加到散列中。

      这里有一些代码(它没有经过优化,但写得简单易懂),它将返回任何传入字符串的 MD5 哈希

      public string MD5_Encrypt(string EncryptString)
      {
        string strReturn = string.Empty;
        ASCIIEncoding ASCIenc = new System.Text.ASCIIEncoding();
        byte[] InputString = ASCIenc.GetBytes(EncryptString);
        System.Security.Cryptography.MD5CryptoServiceProvider MD5Hash = new System.Security.Cryptography.MD5CryptoServiceProvider();
        byte[] ByteHash = MD5Hash.ComputeHash(InputString);
        foreach (byte b in ByteHash)
        {
          strReturn += b.ToString("x2");
        }
        return strReturn.ToString();
      }
      

      【讨论】:

        猜你喜欢
        • 2015-12-18
        • 1970-01-01
        • 2012-04-14
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        • 2011-12-08
        • 1970-01-01
        • 2021-09-03
        相关资源
        最近更新 更多