2012-05-28 36 views
3

我有一個字符串的哈希碼,現在我想要返回原始字符串。有沒有可用的方法?IHow獲得哈希碼的原始值的值

+1

無。這是不可能的 – UmNyobe

+4

我相信甚至不能保證哈希碼是唯一的。 – 11684

+1

我很難理解這個問題。你想將一個哈希碼轉換成它的原始字符串嗎?這是不可能的,因爲哈希碼值不保證是唯一的 –

回答

5

不,沒有這樣的方法。散列函數是有損的。

當你考慮它時,所有可能的字符串的集合是很多的大於所有可能的整數的集合,使得不可能進行雙向映射。

如果可以從其哈希代碼中恢復字符串,那麼可以將任意數量的數據壓縮到一個單一的int,然後才能夠完美地重建它。

1

基本上stringhashcode不是bijection。雖然一個字符串只有一個哈希碼(給定一個函數),但是有一個無限量的具有hascode值的字符串。