【问题标题】:md5 vs md4 recognitionmd5 与 md4 识别
【发布时间】:2016-02-21 02:41:28
【问题描述】:

有没有办法真正找出哈希是 MD5 还是 MD4?

例如:

10c7ccc7a4f0aff03c915c485565b9da 是一个 MD5 哈希

be08c2de91787c51e7aee5dd16ca4f76 是一个 MD4 哈希

我知道“安全方面”存在差异,但有人如何确定哪个哈希是哪个“编程方面”或仅凭眼睛。还是真的没有办法确定?

我正在考虑提供一个哈希并将其与其中 2 个进行比较。但是,我注意到它们都是相同的,没有办法真正检查差异!第一个“字母数字”不一定是 MD5 中的数字,也不一定是 MD4 中的字符。那么如何才能确定使用的是哪个哈希呢?

【问题讨论】:

  • 您是否有需要了解差异的特定场景,或者这只是理论上的?
  • @1615903 这只是理论上的
  • 我投票决定将此问题作为题外话结束,因为它与编程无关。它可能适合security.stackexchange.com

标签: security hash md5


【解决方案1】:

MD5 和 MD4 都输出 128 位摘要(16B 或 32B 十六进制字符串)。两种算法的摘要(散列)表示形式彼此无法区分,除非它们使用额外的元数据(需要由应用程序提供)进行注释。

如果不对原始文件或原始数据重新计算哈希值,您将无法判断。

如果您有数据,并且有两个摘要来区分,您将不得不使用两种算法之一重新计算,并希望您导出的哈希是测试二之一。如果输入数据被损坏,那么您甚至不会重新获得这两者中的任何一个。

如果您无法访问原始数据,并且您今天不得不猜测只有一个(而不是两个)32 十六进制字符长摘要与该数据一起使用的性质,那么很可能MD5。 MD4 在 2008 年被严重破坏,到 2011 年被认为是历史性的 (RFC 6150)。

如果给定一个哈希,并且该哈希是在文件上计算的,则其哈希算法实际上由校验和文件的文件扩展名(.md5sum.md4sum.sha1sum 等.)。

【讨论】:

  • 好吧,我说的不仅仅是文件。我想知道我是否有 2 个哈希,其中一个是 MD5,哪个是 MD4。但是,我的问题似乎无法解决。
  • 啊,是的,我可以更笼统。用“数据”替换文件,但正确,这仍然无法帮助您确定使用了两种算法中的哪一种。
猜你喜欢
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多