Hash 如何从散列值中获取原始值?

Hash 如何从散列值中获取原始值?,hash,Hash,我的原文:“桑杰” SHA-1文本:“25ECBCB559D14A98E4665D680AC5C99991D7C25” 现在我如何从这个散列值中得到原始值-“sanjay” 有任何代码、算法或方法吗?没有。这通常是重点——哈希过程通常是单向的 这对于为密码或密码学设计的散列尤其重要,这与为散列映射设计的散列不同。此外,对于无界输入长度,有无限多的值会导致相同的散列 可以使用的一种方法是散列一组值(例如,aaaaaa-zzzzz中的暴力),并查看哪个值具有相同的散列。如果你发现了这一点,你就发现了

我的原文:“桑杰” SHA-1文本:“25ECBCB559D14A98E4665D680AC5C99991D7C25”

现在我如何从这个散列值中得到原始值-“sanjay”


有任何代码、算法或方法吗?

没有。这通常是重点——哈希过程通常是单向的

这对于为密码或密码学设计的散列尤其重要,这与为散列映射设计的散列不同。此外,对于无界输入长度,有无限多的值会导致相同的散列


可以使用的一种方法是散列一组值(例如,aaaaaa-zzzzz中的暴力),并查看哪个值具有相同的散列。如果你发现了这一点,你就发现了“价值”(时间并不便宜)。“彩虹表”在这个想法上起作用(但是使用空间而不是时间),但是被暂时的盐打败了。

不。这通常是重点——哈希过程通常是单向的

这对于为密码或密码学设计的散列尤其重要,这与为散列映射设计的散列不同。此外,对于无界输入长度,有无限多的值会导致相同的散列


可以使用的一种方法是散列一组值(例如,aaaaaa-zzzzz中的暴力),并查看哪个值具有相同的散列。如果你发现了这一点,你就发现了“价值”(时间并不便宜)。“彩虹表”在这个想法上是可行的(但使用空间而不是时间),但却被暂时的限制所击败。

根据我在这一主题上所学的内容,如果你是将你的值转换成散列值的人,那么你有可能完全访问散列函数,并且能够以同样的方式反转它。如果你只有原始值和结束值,并且不知道使用了什么散列函数,那么如果不做上面所说的(仔细考虑所有可能性),你就无法真正反转它。

根据我所学的内容,如果你是将值转换为散列值的人,很可能您拥有对哈希函数的完全访问权,并且能够以相同的方式将其反转。如果您只有原始值和结束值,并且不知道使用了什么散列函数,那么如果不执行上面所述的操作(检查所有可能性),您就无法真正反转它。

好吧,您可以这样做,但这确实是低效和耗时的+1的逻辑答案。嗯,你可以这样做,但它真的是效率低下和耗时+1的逻辑答案。