簡體   English   中英

從String.GetHashCode解密哈希字符串?

[英]Decrypt hash string from String.GetHashCode?

來自MSDN的示例代碼http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx

“abc”的哈希碼是:536991770

但是如何將“536991770”轉換回“abc”?

無法從哈希碼中獲取值。 請參閱哈希函數定義。 散列值不用於唯一標識原始值,對於每種類型的輸入值,值不是唯一的。

散列函數可以將兩個或更多個鍵映射到相同的散列值。 在許多應用中,希望最小化這種沖突的發生,這意味着散列函數必須盡可能均勻地將鍵映射到散列值。

你不能。 哈希是一種方式。

哈希的東西是你丟失了信息。 與字符串的長度無關,結果始終為整數。 這意味着例如獲取10,000個字符的字符串的has也將產生整數。 當然不可能從這個整數中獲取原始字符串。

沒有辦法“解密”哈希碼。 除了其他原因之外,因為兩個不同的字符串可能很好地產生相同的哈希碼。 僅這一特征就無法扭轉這一過程。

你不能,
即使你將擁有一個包含世界上所有字符串的表及其哈希碼,你也無法實現這一點,因為有更多的字符串然后整數(約40億英寸)因此有幾個字符串導致相同的哈希碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM