我想用客户端Javascript生成SHA1或类似的哈希。换句话说,使用IE,FF和Webkit提供的Javascript引擎。我想知道什么哈希实现存在?现代Javascript支持哪些哈希算法?
回答
我不相信有任何直接构建到浏览器中,但有一些记录良好的实现。
我发现,最好的是http://code.google.com/p/crypto-js/经由CDN是可用的,并且支持:
- MD5
- SHA-1
- SHA-256
- AES
- DES
- 兔
- MARC4
- HMAC
- HMAC-MD5
- HMAC-SHA1
- HMAC-SHA256
- PBKDF2
如果安全问题,然后使用一个算法,一直没有断过(还),并且较少受以各种形式的攻击(维基百科在this article的底部有一个很好的分解)。
基于缺少对this question的答案,它似乎并不是本机浏览器的功能。我希望有,但我可以看到依靠浏览器产生的问题。例如,如果在算法中发现缺陷,那么在您知道所有浏览器都支持它(并且已升级)之前,很难将用户转到新算法。如果您控制散列算法,那么您可以随时部署一个新脚本。
我不确定内置哈希实现,而不是已经用于关联数组的内容,但下面是一些带代码的示例实现。
SHA
- http://www.movable-type.co.uk/scripts/sha1.html
- http://www.webtoolkit.info/javascript-sha1.html
- http://jssha.sourceforge.net/
MD5(也具有其它某些附带)
我还发现[Mootool的版本](https://github.com/sixtyseconds/mootools-string-cryptography/blob/master/Source/String.SHA-1.js)和[this gist](https:// gist .github.com/712736)。 – Xeoncross 2012-03-09 17:59:56
的Movable Type发表了JS实现SHA1的位置: http://www.movable-type.co.uk/scripts/sha1.html
我敢肯定有很多其他的实现。
- 1. 现代PHP哈希算法
- 2. .net RSACryptoServiceProvider支持哈希算法
- 3. 返回支持哈希算法
- 4. Android支持哪些加密算法?
- 5. 哪种哈希算法最适合HMAC
- 6. 持久哈希表实现
- 7. Java实现SpeedyFX哈希算法
- 8. Jenkins哈希的Javascript实现?
- 9. Node.js支持哪些版本的Javascript
- 10. IE8支持哪些Javascript版本?
- 11. 在JavaScript中,哪些类型支持toString()?
- 12. 哪些手机支持javascript/AJAX
- 13. Windows CE是否支持哈希表?
- 14. 通过支持哈希映射查询
- 15. Amazon DynamoDB哈希算法
- 16. 双向哈希算法?
- 17. 是否有一致的哈希算法支持密钥的零重新映射?
- 18. ContentService支持哪些格式?
- 19. SecureSocket支持哪些协议?
- 20. JodaTime支持哪些日历?
- 21. Npgsql支持哪些元组?
- 22. 哪些Android SDK支持ticker?
- 23. 支持图书馆....哪些?
- 24. MediaElement支持哪些格式?
- 25. UINavigationBar.titleTextAttributes支持哪些属性?
- 26. FileUtils.copyUrlToFile支持哪些协议?
- 27. Arduino支持哪些CPU?
- 28. 计算SHA1哈希算法Powershell V2.0
- 29. 我希望今天能支持哪些iOS版本?
- 30. XCode 4支持区域和代码管理有哪些方法?
有很多。 Google是你的朋友。 (例如:http://www.webtoolkit.info/javascript-sha1。HTML) – 2012-03-09 17:53:26
@ user1150525 - 我认为OP正在浏览器中寻找只使用JS引擎的实现。我昨晚自己也在寻找同样的东西来避免依赖第三方库。 – 2012-03-09 18:14:23