UNPKG

@ivujs/i-utils

Version:

前端模块化 JavaScript 工具库

49 lines (48 loc) 2.29 kB
/** * 生成 SM4 CBC 模式专用的安全随机 IV(16字节) * @param {string} [outputFormat=SM4_OUTPUT_HEX] - 输出格式:hex/uint8array/array/arraybuffer * @returns {string|Uint8Array|Array|ArrayBuffer} 随机IV */ export function generateIv(outputFormat?: string): string | Uint8Array | any[] | ArrayBuffer; /** * 生成 SM4 标准密钥(16字节/32位16进制字符串) * @param {string} [outputFormat=SM4_OUTPUT_HEX] - 输出格式:hex/uint8array/array/arraybuffer * @returns {string|Uint8Array|number[]|ArrayBuffer} 16字节SM4密钥 */ export function generateKey(outputFormat?: string): string | Uint8Array | number[] | ArrayBuffer; /** * SM4加密 * @param {string|Array|Uint8Array|ArrayBuffer} input - 输入数据(字符串/字节) * @param {string|Array|Uint8Array|ArrayBuffer} key - 16字节密钥 * @param {Object} [options] - 选项 * @returns {string|Array|Uint8Array|ArrayBuffer} 加密结果 */ export function encrypt(input: string | any[] | Uint8Array | ArrayBuffer, key: string | any[] | Uint8Array | ArrayBuffer, options?: Object): string | any[] | Uint8Array | ArrayBuffer; /** * SM4解密 * @param {string|Array|Uint8Array|ArrayBuffer} input - 加密数据(16进制字符串/字节) * @param {string|Array|Uint8Array|ArrayBuffer} key - 16字节密钥 * @param {Object} [options] - 选项 * @returns {string|Array|Uint8Array|ArrayBuffer} 解密结果 */ export function decrypt(input: string | any[] | Uint8Array | ArrayBuffer, key: string | any[] | Uint8Array | ArrayBuffer, options?: Object): string | any[] | Uint8Array | ArrayBuffer; export namespace MODE { export { SM4_MODE_ECB as ECB }; export { SM4_MODE_CBC as CBC }; } export const PADDING: "pkcs#7"; export namespace OUTPUT { export { SM4_OUTPUT_HEX as HEX }; export { SM4_OUTPUT_UTF8 as UTF8 }; export { SM4_OUTPUT_ARRAY as ARRAY }; export { SM4_OUTPUT_UINT8ARRAY as UINT8ARRAY }; export { SM4_OUTPUT_ARRAYBUFFER as ARRAYBUFFER }; } declare const SM4_MODE_ECB: "ecb"; declare const SM4_MODE_CBC: "cbc"; declare const SM4_OUTPUT_HEX: "hex"; declare const SM4_OUTPUT_UTF8: "utf8"; declare const SM4_OUTPUT_ARRAY: "array"; declare const SM4_OUTPUT_UINT8ARRAY: "uint8array"; declare const SM4_OUTPUT_ARRAYBUFFER: "arraybuffer"; export {};