ph-utils
Version:
js 开发工具集,前后端都可以使用(commonjs和es module)
75 lines (74 loc) • 2.94 kB
TypeScript
/**
* 将原始的二进制数据转换为 Hex String
* @param bf 待转换的原始数据
* @param upper 是否需要转换为大写
* @returns
*/
export declare function bufferToHex(bf: ArrayBuffer | Uint8Array, upper?: boolean): string;
/**
* SHA 哈希算法
* @param message 待进行 hash 的数据
* @param upper 是否转换为大写, 默认为: false
* @param algorithm hash算法, 支持: SHA-1、SHA-256、SHA-384、SHA-512; 默认为: SHA-256
* @returns
*/
export declare function sha(message: string, upper?: boolean, algorithm?: string): Promise<string>;
/**
* 哈希算法
* @param message 待进行 hash 的数据
* @param upper 是否转换为大写, 默认为: false
* @param algorithm hash算法, 支持: SHA-1、SHA-256、SHA-384、SHA-512; 默认为: SHA-256
* @returns
*/
export declare function hash(message: string, upper?: boolean, algorithm?: string): Promise<string>;
type HMACAlgorithm = "SHA-256" | "SHA-512";
/**
* 使用 HMAC 算法计算消息的哈希值
* @param message - 需要计算哈希的消息字符串
* @param secret - 用于生成 HMAC 的密钥
* @param algorithm - HMAC 使用的哈希算法,默认为 "SHA-256"
* @param upper - 是否将结果转换为大写,默认为 false
* @returns 返回十六进制格式的 HMAC 哈希值
*/
export declare function hmacHash(message: string, secret: string, algorithm?: HMACAlgorithm, upper?: boolean): Promise<string>;
/** 返回结果类似 */
type AlgorithmResType = "hex" | "hexUpper" | "base64" | "raw";
/**
* AES 加密
* @param message 待加密的数据
* @param key 加解密密钥
* @param encode 加密后的数据转换的形式, hex - 转换为16进制字符串, hexUpper - 转换为16进制且大写, base64 - 转换为 base64 形式
* @param iv 加解密向量
* @returns [加密数据,向量]
*/
export declare function aesEncrypt(message: string, key: string, encode?: AlgorithmResType, iv?: null | Uint8Array | string): Promise<{
ciphertext: string | ArrayBuffer;
iv: string;
key: string;
}>;
/**
* AES 解密
* @param message 加密后的数据
* @param key 解密密钥
* @param iv 向量
* @param encode 加密后数据的形式: hex | base64
* @returns
*/
export declare function aesDecrypt(message: Uint8Array | string, key: string, iv: string, encode?: AlgorithmResType): Promise<string>;
/**
* RSA 加密
* @param key 公钥
* @param message 待加密数据
* @param encode 返回类型
* @returns
*/
export declare function rsaEncrypt(message: string, publicKey: string, encode?: AlgorithmResType): Promise<string | ArrayBuffer>;
/**
* RSA 解密
* @param key 私钥, 根据私钥解密
* @param message 加密后的数据
* @param encode 加密后的数据形式
* @returns
*/
export declare function rsaDecrypt(privateKey: string, message: Uint8Array | string, encode?: AlgorithmResType): Promise<string>;
export {};