是否可以从一个哈希值转换为另一个哈希值?

Is it possible to convert from one hash to another?

如果我给你一个字符串的MD5校验和,你能生成SHA校验和吗? 或者反之亦然?

如果我给你一个 MD5 校验和和一个 SHA 校验和,你能告诉我它们是否是从同一个源字符串生成的吗?

(显然我排除了诸如从彩虹 table 中定位源字符串之类的东西)

没有。两者都是单向哈希,因此原始源字符串中包含的信息在校验和中丢失了。

即使您确实有您所说的 "original" 字符串,也会有一些其他数据在散列时会导致冲突。这是因为 MD5 和 SHA1 不是完美的哈希函数。在 MD5 的情况下,每个散列可能有无限次冲突。那么就不能保证生成的"original"字符串的SHA校验和就是你要找的。

免责声明:我对理论方面的经验很少,因此您可能需要通过其他资源进行验证。