有很多MD5 JavaScript实现。 有人知道哪一个是最先进的,修复最多的,最快的吗?

我需要它来做这个工具。


当前回答

MD5基准测试的获胜者是Javascript-MD5

在https://jsben.ch/imzpt上测试或查看 jsfiddle.net/w731ed58/

其他回答

Node.js有内置的支持

const crypto = require('crypto')
crypto.createHash('md5').update('hello world').digest('hex')

上面的代码段为字符串hello world计算MD5十六进制字符串

这种解决方案的优点是不需要安装额外的库。

我认为内置解决方案应该是最快的。如果不是,我们应该为Node.js项目创建issue/PR。

我找到了许多关于这个主题的文章。 他们都建议约瑟夫·迈耶斯实施。

在某些测试中,请参阅:http://jsperf.com/md5-shootout

在我对终极速度的追求中,我看了这段代码,我看到它可以改进。所以我基于Joseph Meyers代码创建了一个新的JS脚本。

参见改进的约瑟夫迈耶斯代码

js-md5支持UTF-8字符串,数组,ArrayBuffer, AMD....

和快速。jsperf

如果应用程序的性能受到MD5的Javascript实现的限制,那么您确实做错了什么。考虑架构变化(提示:减少使用MD5)

为什么不试试http://phpjs.org/functions/md5/?

不幸的是,任何模拟脚本的性能都是有限的,但是这可以呈现真正的md5散列。尽管我建议不要使用md5作为密码,因为它是一个快速呈现的散列。