ph-utils
Version:
js 开发工具集,前后端都可以使用(commonjs和es module)
62 lines (61 loc) • 2.26 kB
TypeScript
type HashAlgorithmName = "md5" | SHAHashAlgorithmName;
type SHAHashAlgorithmName = "sha1" | "sha256" | "sha512";
/**
* 进行 md5|sha1|sha256 数据摘要签名
* @param d 待加密的数据
* @param algorithm 签名算法, md5、sha1、sha256. Defaults to "sha256".
* @param upper 返回的结果是否需要大写. Defaults to False.
*/
export declare function hashDigest(d: string, algorithm?: HashAlgorithmName, upper?: boolean): string;
/**
* 进行 md5|sha1|sha256 数据摘要签名
* @param d 待加密的数据
* @param algorithm 签名算法, md5、sha1、sha256. Defaults to "sha256".
* @param upper 返回的结果是否需要大写. Defaults to False.
*/
export declare function hash(d: string, algorithm?: HashAlgorithmName, upper?: boolean): string;
/**
* 使用 HMAC 算法对消息进行哈希处理
* @param message 待处理的消息
* @param key 用于 HMAC 算法的密钥
* @param algorithm 哈希算法,可选值为 "sha1"、"sha256" 或 "sha512",默认为 "sha256"
* @param upper 返回的结果是否需要大写,默认为 false
* @returns 经过 HMAC 哈希处理后的字符串
*/
export declare function hmacHash(message: string, key: string, algorithm?: SHAHashAlgorithmName, upper?: boolean): string;
/**
* 生成 RSA 签名密钥对
* @returns: [公钥, 私钥]
*/
export declare function keyPair(): Promise<[string, string]>;
/**
* AES 加密
* @param key 加密密钥
* @param input 待加密的数据
* @param upper 是否转换为大写
* @returns [加密数据, 向量]
*/
export declare function aesEncrypt(key: string, input: string, upper?: boolean): [string, string];
/**
* AES 解密
* @param input 加密后的数据
* @param key 密钥
* @param iv 向量
* @returns
*/
export declare function aesDecrypt(input: string, key: string | Buffer, iv?: string | Buffer, algorithm?: string): string;
/**
* RSA 公钥加密
* @param input 待加密字符串
* @param publicKey 公钥
* @returns
*/
export declare function rsaEncrypt(input: string, publicKey: string): string;
/**
* RSA 解密
* @param encrtypData RSA加密后的数据
* @param privateKey 私钥
* @returns
*/
export declare function rsaDecrypt(encrtypData: string, privateKey: string): string;
export {};