首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中最快的MD5实现

JavaScript中最快的MD5实现
EN

Stack Overflow用户
提问于 2009-11-01 06:15:51
回答 18查看 433.6K关注 0票数 275

有很多MD5 JavaScript实现。有谁知道哪一个是最先进的,最错误的修复和最快的?

我需要它为this工具。

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2009-11-01 06:28:17

我听说Joseph的Myers实现非常快。此外,他还有一个关于Javascript优化的lengthy article,描述了他在编写实现时学到的东西。对于任何对性能javascript感兴趣的人来说,这是一本不错的读物。

http://www.webreference.com/programming/javascript/jkm3/

可以在here中找到他的MD5实现

票数 187
EN

Stack Overflow用户

发布于 2012-12-03 19:44:51

在这种情况下,我建议您使用CryptoJS。

基本上,CryptoJS是使用最佳实践和模式在JavaScript中实现的越来越多的标准和安全加密算法集合。它们速度很快,并且有一个一致和简单的界面。

因此,如果您想要计算密码字符串的MD5散列,请执行以下操作:

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/core.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/md5.js"></script>
<script>
    var passhash = CryptoJS.MD5(password).toString();

    $.post(
      'includes/login.php', 
      { user: username, pass: passhash },
      onLogin, 
      'json' );
</script>

因此,此脚本会将您的密码字符串的散列信息发送到服务器。

有关其他散列计算算法的更多信息和支持,请访问:

http://code.google.com/p/crypto-js/

票数 83
EN

Stack Overflow用户

发布于 2013-11-29 15:54:59

在选择库的时候,同样重要的是要看看它是否支持现代框架,如Bower,passes jslint,是否支持JQuery的插件模型或模块系统,如AMD/RequireJS,以及是否有超过1个贡献者。有几个选项可以满足这些附加条件的一部分或全部:

  • CryptoJS:这可能是最具扩展性的库,其中每种算法都可以单独使用,而不会在JS代码中添加额外的内容。加上它作为UTF8,UTF16和Base64的编码器/解码器。我维护注册为Bower包的github repository,以及如何在RequireJS中使用它的说明。
  • Spark MD5:这是基于其他答案提到的JKM代码,这也是更快的实现。然而,除此之外,Spark实现添加了AMD支持,通过jslint plus具有增量模式。它没有Base64 o/p,但它有原始o/p (即32位整数数组string).
  • JQuery MD5 plugin:的insead非常简单,但似乎没有原始mode.
  • JavaScript-MD5:没有Spark那么奇特或快,而是更简单。

来自CryptoJS的示例:

代码语言:javascript
复制
//just include md5.js from the CryptoJS rollups folder
var hash = CryptoJS.MD5("Message");
console.log(hash.toString()); 

http://jsperf.com/md5-shootout/7上对上述库进行了性能比较。在我的机器上,目前的测试(无可否认是旧的)表明,如果你在寻找速度,Spark MD5是你最好的选择(普通的JKM代码也是如此)。然而,如果你在寻找更全面的库,那么CryptoJS是你最好的选择,尽管它比Spark MD5慢79%。然而,我可以想象CryptoJS最终会达到同样的速度,因为它是一个更活跃的项目。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1655769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档