PHP MD5性能=是否需要处理器?
md5()通常用于密码和短字符串 但这次我想加密(不需要解密)一个大字符串,就像整篇文章一样。。。(更不用说我需要每隔几秒钟做一次) 这会是个问题吗?或者,md5是一个大字符串还是一个短密码需要处理器更多的工作/更长的时间 我读到md5真的很快 对于那些好奇的人,我正在尝试生成所讨论字符串的“签名”哦,亲爱的PHP MD5性能=是否需要处理器?,php,md5,Php,Md5,md5()通常用于密码和短字符串 但这次我想加密(不需要解密)一个大字符串,就像整篇文章一样。。。(更不用说我需要每隔几秒钟做一次) 这会是个问题吗?或者,md5是一个大字符串还是一个短密码需要处理器更多的工作/更长的时间 我读到md5真的很快 对于那些好奇的人,我正在尝试生成所讨论字符串的“签名”哦,亲爱的 嗯,MD5不是 (根据定义,加密设计为可逆的。) 不要将MD5或SHA用于密码哈希-它们太快了(对于这样的任务,MD5显然是不可靠的。) 散列算法(包括MD5)所花费的时间与输入的大小成比
(对于这样的任务,MD5显然是不可靠的。)
然而,考虑到一个“一般”签名散列,它只是稍微慢一点(由一个常数因子),但它是一个更好的算法,即使当修剪到相同的输出空间,并且可能在将来防止问题。
不,MD5不是CPU密集型的。这就是为什么现在对密码哈希来说它是一个无用的选择。它被设计成快速/轻巧。是的,md5的运行时间与输入的大小成正比。感谢您的输入。。只是为了好玩的辩论,我相信mD5也是标准定义的加密。。通常也称为单向加密:P更严肃地说,你能详细说明你的观点吗?我不太明白你在这件事上的意思。。。好的,现在我正在使用Md5。。不管怎么说,这只是几kb的数据(罕见情况下最多200kb)。@BrownChiLD不。这不是一场辩论,甚至不是一场有趣的辩论。然而,散列(在所有输入上)既不是可逆函数,也不是可逆函数,因此不是加密。@BrownChiLD至于第2点,有大量的资源表明:“即使是SHA2256(salt)的“好”散列方案∥ 密码)
仍然完全容易受到这些廉价有效的攻击,因此像bcrypt这样的自适应哈希算法的重要性。”(请注意,这篇文章已经有4年的历史了——从那时起,计算机/GPU的速度只会快得多。)@BrownChiLD tl;dr:我建议使用SHA来满足一般(而不是密码)签名散列的需要。。好吧,你赢了:)。。关于其余的建议,非常感谢。。这是很有见地的。。虽然md5/sha不是很好的密码散列,但这完全取决于您所追求的安全级别。。就我个人而言,我从来没有找到加强密码散列的理由,因为面对现实,它可能不是防弹的,但已经足够了。总会有更安全的东西。。。。我认为,执行是关键。