如何从哈希值中获取原始值?

时间:2010-12-02 06:40:24

标签: hash

我的原文:“sanjay” SHA-1文字:“25ecbcb559d14a98e4665d6830ac5c99991d7c25”

现在我怎么能从这个哈希值得到原始值 - “sanjay”?

是否有任何代码或算法或方法?

2 个答案:

答案 0 :(得分:4)

不。这通常就是重点 - 散列过程通常是单向的。

这对于设计用于密码或密码学的哈希尤为重要 - 这与设计的哈希(例如哈希映射)不同。此外,对于无限制的输入长度,存在无限量的值,这导致相同的散列。

可以使用的一种方法是散列一堆值(例如来自aaaaaaa-zzzzzzz的暴力)并查看哪个值具有相同的散列值。如果你发现了这个,你就找到了“价值”(时间并不便宜)。 “彩虹表”就这个想法起作用(但是使用空间而不是时间),但是用一个随机盐来打败。

答案 1 :(得分:0)

根据我在这个主题上的教学内容,如果你是将你的价值转化为哈希值的人,你很可能完全访问哈希函数,并且能够以相同的方式反转它。如果具有原始值和结束值,并且不知道使用了什么哈希函数,那么如果不执行上述操作(不可能的话),就无法真正反转它。