@arcjet/stable-hash
弧喷 稳定的散列功能.
这是什么?
这是帮助我们创造稳定散列的内部用途. 并符合其他语言的相似内部代码. 这样做是为了确保各种语言之间的工作相同.
我什么时候用这个?
这是内部的Arcjet包件,不为公众使用而设计. 看我们的 开始吧 指南 如何使用Arcjet 在您的 应用.
安装
这套方案只是无害环境管理. 在 Node.js 用 npm 安装 :
npm install @arcjet/stable-hash
使用
import * as hasher from "@arcjet/stable-hash";
const id = await hasher.hash(
hasher.string("type", "EMAIL"),
hasher.uint32("version", 0),
hasher.string("mode", "LIVE"),
hasher.stringSliceOrdered("allow", []),
hasher.stringSliceOrdered("deny", []),
);
console.log(id);
// => 49573b7df8d854c2cd5d8a755a4c03aff4014493a41b963490861a279ad675b2
API 密码
此软件包导出标识符
bool, (中文(简体) ),
hash, (中文(简体) ),
makeHasher, (中文(简体) ),
stringSliceOrdered, (中文(简体) ),
string,以及
uint32。 。 。 .
没有默认导出 .
此套件导出 类型脚本 类型
FieldHasher 财务报告和审定财务报表
StringWriter。 。 。 .
FieldHasher
此类型代表一个单字段的函数. 你得到一个
这些从 bool, (中文(简体) ), string, (中文(简体) ), stringSliceOrdered,以及 uint32。 。 。 .
类型
type FieldHasher = (data: StringWriter) => void;
StringWriter
这种类型代表着一个被收藏者写入数据的写作者.
字段
writeString(data: string): void将数据写入散列
bool(key, value)
为布尔值创建字段散列.
参数
key(单位:千美元)string(中文(简体) ) ——字段名称value(单位:千美元)boolean(中文(简体) ) 散列的布尔值
回返
字段缓存( A)FieldHasher) (中文(简体) ).
hash(…hashers)
Hashes 多个字段一起返回稳定的散列弦. 你通过
田间散居者 bool, (中文(简体) ), string, (中文(简体) ), stringSliceOrdered,以及
uint32。 。 。 .
参数
hashers(单位:千美元)Array<FieldHasher>(中文(简体) ) ——田地有结合
回返
A 类 Promise 决断于散列Promise<string>) (中文(简体) ).
makeHasher(subtle)
使用提供的内容创建新散列函数 SubtleCrypto
执行。 我们内部用这个支持不同的密码
跨运行时间的执行.
参数
subtle(单位:千美元)SubtleCryptoLike(中文(简体) ) a 包括:SubtleCrypto- 像执行
回返
散列函数( A)hash) (中文(简体) ).
stringSliceOrdered(key, values)
为命令的字符串创建字段散列.
参数
key(单位:千美元)string(中文(简体) ) ——字段名称values(单位:千美元)ReadonlyArray<string>(中文(简体) ) ——散列的字符串数组
回返
字段缓存( A)FieldHasher) (中文(简体) ).
string(key, value)
为字符串值创建字段散列.
参数
key(单位:千美元)string(中文(简体) ) ——字段名称value(单位:千美元)string(中文(简体) ) ——散列的字符串值
回返
字段缓存( A)FieldHasher) (中文(简体) ).
uint32(key, value)
为无符号的32位整数创建字段散列.
参数
key(单位:千美元)string(中文(简体) ) ——字段名称value(单位:千美元)number(中文(简体) ) - 散列的整数值
回返
字段缓存( A)FieldHasher) (中文(简体) ).
许可证
Apache 许可证,2.0版本 © Arcjet实验室股份有限公司.
基于 feross/buffer 特许使用
麻省理工学院 Feross Aboukhadijeh和撰稿人.
我们的工作选择了它内部的六分编码逻辑 适应我们的使用.