PHP 中是否有双向哈希算法?

Sar*_*tts 3 algorithm hash

免责声明:我知道散列不应该是可逆的。

我见过很多人问是否有办法“取消散列”已经散列的文本。但是,我没有看到直接的答案。大多数答案都指出 MD5 和 SHA-1 是单向散列算法,因此是不可逆的。这很好,但它引出了一个问题,所有散列算法都是单向且不可逆的吗?

axi*_*iac 5

散列函数是可用于将任意大小的数据映射到固定大小的数据的任何函数。(来源:维基百科

由于输入值的范围是无限的,并且可能的不同输出值的数量是有限的,因此该函数为无限数量的输入值生成相同的输出。这意味着散列是一个丢失信息的函数。

假设一个人可以“反转”散列,他们将得到一组无限可能的原始值。仍然无法确定用于生成散列的值是什么。

用数学术语来说,散列函数不是单射的,这个属性自动使它不可逆

以上所有内容都适用于任何哈希函数,无论哪种语言或库提供它。