UNPKG

@ivujs/i-utils

Version:

前端模块化 JavaScript 工具库

57 lines (56 loc) 1.74 kB
import * as sm4 from "./sm4.js"; /** * sm4传参和返回的类型,不管是传参还是返回值固定是这几个 */ export type SM4DataType = string | Uint8Array | ArrayBuffer | number[]; /** * sm4通用配置 */ export interface SM4Options { mode?: keyof typeof sm4.MODE; iv?: SM4DataType; padding?: "pkcs#7"; output?: keyof typeof sm4.OUTPUT; } /** * sm4 加密 * @param {string} str 字符串 * @param {string} key 秘钥 * @param {Object} options 配置 * @returns {string} 加密后的字符串 */ export declare function sm4Encrypt(str: string, key: SM4DataType, options?: SM4Options): SM4DataType; /** * sm4 解密 * @param {string} str 字符串 * @param {string} key 秘钥 * @param {Object} options 配置 * @returns {string} 解密后的数据 */ export declare function sm4Decrypt(str: string, key: SM4DataType, options?: SM4Options): SM4DataType; /** * 生成sm4的key * @param {string} inputFormat 输入类型 可以任意字符串,其中固定的uint8array、array、hex这3个字符串,会对应生成类型数据 * @returns {SM4DataType} 生成的key */ export declare const generateSM4Key: (inputFormat?: string) => SM4DataType; /** * 生成sm4的iv * @param {string} inputFormat 输入类型 可以任意字符串,其中固定的uint8array、array、hex这3个字符串,会对应生成类型数据 * @returns {SM4DataType} 生成的iv */ export declare const generateSM4Iv: (inputFormat?: string) => SM4DataType; export declare const SM4: { MODE: { ECB: string; CBC: string; }; PADDING: string; OUTPUT: { HEX: string; UTF8: string; ARRAY: string; UINT8ARRAY: string; ARRAYBUFFER: string; }; };