假设我们正在查看所有sha256的数据集。 每个通过sha256函数使用的sha256值都会产生不同的sha256值。 由于我们的数据集与结果集的大小相同,因此我们可以假设我们具有一对一的函数。
是否有一种方法可以映射所有值并创建一个backwared函数。 (假设我们只查看上述数据集。
在可计算的时间内(不是110年)
答案 0 :(得分:2)
由于我们的数据集与结果集的大小相同,因此我们可以假定我们具有一对一的函数。
这是一个错误的假设。没有理由相信SHA256是跨256位输入的唯一映射。很有可能至少有(可能很多)对具有相同SHA256哈希的256个输入。
有没有一种方法可以映射所有值并创建一个backwared函数。
不。有2个 256 ≈1.16×10 77 可能的SHA256哈希。作为比较点,there are roughly 2.4×1067 atoms in our galaxy。即使您可以将整个银河系变成一台计算机,并在每个原子上写一个哈希,您仍然会在完成之前用尽原子。