gpt4 book ai didi

hash - 计算 MD5 哈希值是否比 SHA 系列函数更少占用 CPU 资源?

转载 作者:行者123 更新时间:2023-12-03 04:42:09 24 4
gpt4 key购买 nike

在“标准”笔记本电脑 x86 硬件上计算 MD5 哈希值是否比 SHA-1 或 SHA-2 占用更少的 CPU 资源?我对一般信息感兴趣,而不是特定于某个芯片。

更新:就我而言,我有兴趣计算文件的哈希值。如果文件大小很重要,我们假设它是 300K。

最佳答案

是的,MD5 的 CPU 密集程度较低。在我的 Intel x86(Core2 Quad Q6600,2.4 GHz,使用一个核心)上,我在 32 位模式下得到了这个:

MD5       411
SHA-1 218
SHA-256 118
SHA-512 46

64 位模式下:

MD5       407
SHA-1 312
SHA-256 148
SHA-512 189

对于“长”消息,数字以每秒兆字节为单位(这是长度超过 8 kB 的消息所得到的值)。这是 sphlib ,一个用 C(和 Java)实现的哈希函数库。所有实现均来自同一作者(我),并且在优化方面付出了相当的努力;因此,速度差异可以被认为是功能真正固有的。

作为比较,考虑一下最近的硬盘将以大约 100 MB/s 的速度运行,而通过 USB 的任何东西都将低于 60 MB/s。尽管 SHA-256 在这里显得“慢”,但它对于大多数用途来说已经足够快了。

请注意OpenSSL包括 SHA-512 的 32 位实现,它比我的代码快得多(但不如 64 位 SHA-512 快),因为 OpenSSL 实现是在汇编中并使用 SSE2 寄存器,这是无法在plain C。SHA-512 是这四个函数中唯一受益于 SSE2 实现的函数。

编辑: this page ( archive ),可以找到有关许多哈希函数速度的报告(单击“Telechargez maintenant”链接)。该报告是法语的,但大部分都是表格和数字,而且数字是国际性的。实现的哈希函数不包括 SHA-3 候选(SHABAL 除外),但我正在研究它。

关于hash - 计算 MD5 哈希值是否比 SHA 系列函数更少占用 CPU 资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com