Kaciras 博客的 Node 本地扩展,包含了一些需要在底层实现的功能。
xxHash
xxHash 是一个非加密 Hash 函数系列,拥有很快的运算速度。
本项包含 xxHash 算法的Node扩展,支持(XXH32, XXH64, XXH3, XXH128)。
安装
yarn add git://github.com/kaciras-blog/nativelib#v0.2.1 [--no-prebuild]
默认情况将从 GitHub Release 上下载编译好的二进制文件,如果需要自己编译请添加--no-prebuild
参数。
用法
xxHash
使用跟 crypto 模块相似的 API:
const { createXXH3_128 } = require("xxhash-native");
console.log(createXXH3_128().update("xxhash").digest("hex"));
// 9c8b437c78cac00a376072e24bfdf4d2
使用快捷函数:
const { xxHash3_128 } = require("xxhash-native");
// base64u 是 Base 64 Encoding with URL and Filename Safe Alphabet
console.log(xxHash3_128("xxhash", "base64u"));
// nItDfHjKwAo3YHLiS_300g==
xxHash 算法非常快,故没有提供异步的版本。