Elite Member
|
以我的了解, hash 是無法反推原文的, 這在資訊理論已經證明, 因為你要用有限的hash值
例如固定128bytes, 去推出原始,未知大小的來源文, 不可能達成1對1的對應, 因為hash
演算法不管複雜度, 都可能會有collision的現象, 也就是不同的來源卻在hash之後出現
一樣的hash值, 頂多較長的演算碼比較不容易遇到collision. 但當你的來源接近無限種,
就算sha1 256還是能遇到collision的情形. 所以反推出唯一解, 在hash 演算法是不可能.
用資訊量極少的編碼值要反推回資訊量極大的原始資料, 可以查查資訊理論領域的書.
就算運氣好找出其中一解是同hash值, 實務上也缺乏意義, 因為原文本身可能有無限解.
這也是為什麼我們講hash演算法是單向函數.
|