gpt4 book ai didi

PHP MD5 Performance = 处理器很饿吗?

转载 作者:行者123 更新时间:2023-12-04 15:47:56 26 4
gpt4 key购买 nike

md5() 通常用于密码,短字符串

但是这次我想加密(不需要解密)一个大字符串,比如整篇文章......(更不用说我需要每隔几秒就这样做一次)

这会是个问题吗?或者处理器需要更多的工作/更长的时间来 md5 一个大字符串而不是一个短密码?

我读到 md5 真的非常快..

对于那些好奇的人,我正在尝试生成相关字符串的“签名”

最佳答案

哦,亲爱的。

  1. 好吧,MD5 不是 encryption .
    (根据定义,加密被设计为可逆的。)

  2. 不要将 MD5 或 SHA 用于密码哈希 - 它们快了!
    (对于这样的任务,MD5 显然是错误的。 )

哈希算法(包括 MD5)花费的时间与输入的大小成正比,即 O(n)。这意味着,散列 100MB 的时间大约是散列 50MB 的“两倍”。对于内存中的 PHP 字符串,这将是“眨眼之间”(因为 I/O 很可能是瓶颈)——您需要对内存中的真实数据运行性能基准一个真实的环境来量化它。

MD5 确实“非常非常快”;该算法相对简单,并且与许多散列算法一样,设计速度很快。在出现真正性能问题之前,不要担心性能 - 现代 CPU 非常很快。此外,虽然 MD5(和 SHA)速度很快,但在无限循环中背靠背运行 MD5 当然会“吃掉”所有 CPU;如果有工作要做,空闲的 CPU 就是浪费的 CPU。

但是,请考虑 SHA (preferable SHA-2)对于“通用”签名哈希 - 它只是稍微慢一点(按常数因子)但它是一种更好的算法,即使在修剪到相同的输出空间时也是如此,并且可能会防止将来出现问题。

关于PHP MD5 Performance = 处理器很饿吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668178/

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