现代JavaScript支持哪些哈希算法?

3

我希望能够仅使用客户端JavaScript生成SHA1或类似的哈希值。换句话说,使用IE、FF和Webkit提供的JavaScript引擎。我想知道有哪些哈希实现可用?


3
有很多这样的网站。谷歌是你的好朋友。(例如:http://www.webtoolkit.info/javascript-sha1.html) - user1150525
3
我认为@user1150525是在寻找仅使用浏览器中的JavaScript引擎实现的方法。昨晚我也在搜索同样的内容,以避免依赖第三方库。 - Tim M.
3个回答

6

我不认为浏览器内置了任何加密算法,但有一些被广泛使用的实现。

我找到的最好的是http://code.google.com/p/crypto-js/,通过CDN可用,并支持以下算法:

  • MD5
  • SHA-1
  • SHA-256
  • AES
  • DES
  • Rabbit
  • MARC4
  • HMAC
  • HMAC-MD5
  • HMAC-SHA1
  • HMAC-SHA256
  • PBKDF2

如果安全性很重要,则使用尚未被攻破且不易受各种形式攻击的算法(维基百科在此文底部有一个漂亮的分类)。

根据这个问题没有得到答案,似乎这不是浏览器的原生功能。我希望有,但我可以看到依赖于浏览器会有问题。例如,如果在算法中发现漏洞,则在你知道所有用户的浏览器都支持它(并且他们已经升级)之前,将难以将用户转移到新算法。如果你控制哈希算法,那么你可以在任何时候部署新脚本。


3

我还发现了Mootool版本这个Gist - Xeoncross

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接