algorithm - 哈希字符串的强大功能并恢复它

标签 algorithm hash

我正在寻找一个强大的散列函数(算法)来散列我的代码。 我想将散列字符串恢复为原始字符串。 (我可以将 sha 恢复到原始状态吗?)

你能帮帮我吗?

最佳答案

您无法从哈希中恢复原始数据,因为它在设计上是不可逆的。通常的解释是 Pigeonhole Principle - 大多数哈希值约为 128-256 位,因此大小为 16-32 字节。一旦您的字符串比这更长(甚至在此之前),就会有两个具有相同散列的字符串。这称为 collision .

另请注意,短于 16-32 字节的字符串通常可以反转,但您不应该依赖它,因为也可能会发生冲突。例如,散列一些字符串,如 test 并在 Google 上搜索散列。

尽管如此,即使 test 和其他一些短词也可能具有相同的散列,因此您永远无法 100% 确定您拥有正确的字符串。

关于algorithm - 哈希字符串的强大功能并恢复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476217/

相关文章:

algorithm - 无向图中的唯一路径

algorithm - 图论 - 色度指数

ruby - 减少哈希值

ruby - 在 Ruby 中,我有一个包含变量的哈希值。如何获取它的命名空间?

java - 如何使用 flatmap java8 根据值的键数对 HashMap 进行排序?

jquery - 使用 chrome/chromium 时,url 哈希中的括号显示为 %5b 不管怎样%5D。使用 Firefox [无论如何]。有什么办法可以修复吗?

hash - 需要更快的 Linux 指纹/哈希比较的建议

java - 将命令式代码转换为非连续一个实现的声明式代码

algorithm - 寻找缺失的数字——来自《编程珠玑》第 2 版

python - 找到一对没有交集的对