我一直在搜索,但找不到任何关于它的东西。我想知道是否可以将文件的文件路径添加到MD5哈希码的计算中。
现在我有正常的计算工作,它为所有不同的文件返回唯一的哈希码。但是如果我复制粘贴一个文件,它将返回相同的哈希码。
那么是否可以将 til 文件路径添加到计算中?
BR
MD5 哈希只是一种用于获取一些二进制数据并从中创建 128 位哈希值的算法。
如何确定要散列的二进制数据完全取决于您。如果这对您有用,那么(比如说)包含文件路径然后包含文件的内容(反之亦然)是完全合理的。通常不是,因为您通常想要验证您是否拥有与最初拥有的数据相同的数据,并且文件位置的元数据通常不是要检查的“有用”信息的一部分。您通常希望复制/粘贴为您提供相同的哈希码。但是,如果您处于不同的情况,那很好。
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();
}