【发布时间】:2011-09-01 15:05:20
【问题描述】:
谁能推荐一个用(浏览器兼容的)JavaScript 编写的简单(即数十行代码,而不是数百行)哈希函数?理想情况下,我想要一些东西,当将字符串作为输入传递时,会产生类似于 32 个字符的十六进制字符串的东西,这是 MD5、SHA1 等的典型输出。它不必是加密安全的,只要合理地抵抗冲突. (我最初的用例是 URL,但将来我可能想在其他字符串上使用它。)
【问题讨论】:
-
您不想使用 sha1 有什么特别的原因吗? js中有很多这样的例子
-
我想将它与其他一些大约 50 行长的代码一起打包;我不希望我的哈希函数是“有趣”位的 10 倍。
-
我想我现在明白你的意思了。您是否有理由不能使用包含?你真的只需要使用一个文件吗?
-
是的,我可以,如有必要,我准备这样做,但我更希望有一些独立的东西,我可以在 github 或类似网站上作为要点发布。
-
Jenkins's one-at-a-time hash
window.hashJoaat=function(b){for(var a=0,c=b.length;c--;)a+=b.charCodeAt(c),a+=a<<10,a^=a>>6;a+=a<<3;a^=a>>11;return((a+(a<<15)&4294967295)>>>0).toString(16)};的实现
标签: javascript hash md5 sha1