XxHash 的 Javascript 执行
概要
xxHash是一个非常快的散列算法(见细节) 这里. xxhashjs是它的一个Javascript执行,用100%Javascript写成. 虽然没有C版那么快,但考虑到当前Javascript在处理未签名的32位元整数方面的局限性,它的表现确实相当出色.
安装
在节点中:
npm install xxhashjs
在浏览器中,包含以下内容,并使用 第二十四届数字 :
<script src="/your/path/to/xxhash.js"></script>
实例
- 一步内:
var h = XXH.h32("abcd", 0xabcd).toString(16); // seed = 0xABCD
0xCDA8FAE4 (英语)
- 在几个步骤(在节点JS流中有用):
var H = XXH.h32(0xabcd); // seed = 0xABCD
var h = H.update("abcd").digest().toString(16);
0xCDA8FAE4 (英语)
- 示例目录中的更多实例 :
- 从文件数据计算 xxHash
- 在浏览器中使用 xxHashjs
使用量
-
XXH为32位XXH和64位XXH分别提供2个功能,其签名相同:
- XXH.h32
- 页:1
-
一步内:
XXH.h32(<data>, <seed>)数据可以是字符串,ArrayBuffer,也可以是NodeJS缓冲对象. 种子可以是数字,也可以是UINT32对象. -
在几个步骤中: * 即时开发出一个新的 XXH 对象 H:
XXH.h32(<seed>)或者说XXH.h32()种子可以放在后面与init方法* add data to the hash calculation:H.update(<data>)* finish the calculations:H.digest()
返回的对象可以转换为字符串 toString(<radix>) 或数字 toNumber()。 。 。 .
一次 digest() 已调用,可以重用该对象。 同样的种子将被使用或者可以更改 init(<seed>)。 。 。 .
方法
-
XXH.h32().init(<seed>)用给定的种子初始化XXH对象. 种子可以是数字,也可以是UINT32对象..update(<data>)添加散列数据 。 数据可以是字符串、 ArrayBuffer 或 NodeJS 缓冲对象。 *digest()(单位:千美元)UINT32 请检查URL=值 (帮助)(中文(简体) ) 完成散列计算并返回一个 UINT32 对象。 散列值可以用 String () 检索 .
-
XXH.h64().init(<seed>)用给定的种子初始化XXH对象. 种子可以是数字,也可以是UINT64对象..update(<data>)添加散列数据 。 数据可以是字符串,ArrayBuffer,也可以是NodeJS缓冲对象..digest()(单位:千美元)联合INT64(中文(简体) ) 完成散列计算并返回一个 UINT64 对象。 散列值可以用 String () 检索 .
许可证
麻省理工学院