@a-drowned-fish/om-utils
v1.0.13
Published
一个用于处理设备指纹、加密签名和认证的工具库,专为 OM 系统设计。
Downloads
1,830
Readme
@a-drowned-fish/om-utils
一个用于处理设备指纹、加密签名和认证的工具库,专为 OM 系统设计。
安装
npm install @a-drowned-fish/om-utils快速开始
基本使用
import OmUtils from "@a-drowned-fish/om-utils";
// 初始化实例(PSK 为预共享密钥)
const omUtils = new OmUtils("your-pre-shared-key");
// 设置访问令牌
omUtils.setAccessToken("your-access-token");
// 获取公共请求头
const headers = await omUtils.getPublicHeaders();
console.log(headers);注册流程
// 获取注册请求体
const registerBody = await omUtils.getRegisterBody();
console.log(registerBody);
// 输出: { d: "设备ID", n: "随机数", t: "时间戳", s: "签名" }API 文档
OmUtils 类
构造函数
new OmUtils(psk: string, options?: BaseOmUtilsConstructorOptions)参数:
psk- 预共享密钥,用于加密解密options- 可选配置uId- 用户ID,默认 "1234567812345678"deviceId- 自定义设备ID(可选)
公共方法
setAccessToken(accessToken?: string)
设置访问令牌,会自动使用 SM4 解密处理。
getRegisterBody(): Promise
获取注册请求体,包含设备ID、随机数、时间戳和签名。
返回值:
{
d: string; // 设备ID
n: string; // 32位随机字符串
t: string; // 时间戳
s: string; // SM4加密签名
}getPublicHeaders(): Promise
获取公共请求头,用于 API 认证。
返回值:
{
"X-T": string; // 时间戳
"X-N": string; // 32位随机字符串
"X-DI": string; // 设备ID
"X-S": string; // SM2签名
}类型定义
完整的 TypeScript 类型定义包含在包中:
interface BaseOmUtilsConstructorOptions {
uId?: string;
deviceId?: string;
deviceIdPrefix?: string; // 为不同环境的deviceId添加前缀,用以区别环境使用
}开发指南
构建
项目使用现代构建工具,支持 CommonJS 和 ES Module 两种格式。
许可证
MIT License
作者
a-drowned-fish
