我希望能够仅使用客户端JavaScript生成SHA1或类似的哈希值。换句话说,使用IE、FF和Webkit提供的JavaScript引擎。我想知道有哪些哈希实现可用?
我希望能够仅使用客户端JavaScript生成SHA1或类似的哈希值。换句话说,使用IE、FF和Webkit提供的JavaScript引擎。我想知道有哪些哈希实现可用?
我不认为浏览器内置了任何加密算法,但有一些被广泛使用的实现。
我找到的最好的是http://code.google.com/p/crypto-js/,通过CDN可用,并支持以下算法:
如果安全性很重要,则使用尚未被攻破且不易受各种形式攻击的算法(维基百科在此文底部有一个漂亮的分类)。
根据这个问题没有得到答案,似乎这不是浏览器的原生功能。我希望有,但我可以看到依赖于浏览器会有问题。例如,如果在算法中发现漏洞,则在你知道所有用户的浏览器都支持它(并且他们已经升级)之前,将难以将用户转移到新算法。如果你控制哈希算法,那么你可以在任何时候部署新脚本。
除了已用于关联数组的内置哈希实现,我不确定其他实现,但以下是一些具有代码的示例实现。
SHA
MD5(包含其他哈希函数)