2012-01-18 59 views
0

我一直在尋找一點,但找不到任何關於它的東西。我不想知道是否可以將文件的文件路徑添加到計算MD5哈希碼。添加文件路徑到MD5哈希計算

現在我有正常的計算工作,它正在爲所有不同的文件返回唯一的哈希碼。但是,如果我複製粘貼文件,它將返回相同的散列碼。

那麼是否有可能將直接文件路徑添加到計算中?

BR

回答

5

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(); 
} 
傳遞任何字符串