UNPKG

@blueking/crypto-js-sdk

Version:

crypto-js-sdk

33 lines (32 loc) 1.43 kB
/// <reference types="node" /> import { Buffer } from 'buffer'; /** * sm4 加密 * * @param {byteArray} message - 要加密的明文,32 GB 以下 * @param {byteArray} key - 密钥,16 字节 * @param {byteArray} iv - IV 或随机数,16 字节(ECB 模式下不需要) * @param {string} mode - 分组密码模式 CBC, ECB, CFB, OFB, CTR * @param {boolean} noPadding - 如果设置为 true,则不添加 PKCS#7 填充,默认为 false * * @return {byteArray} - 密文 */ export declare function encrypt(message: number[] | Buffer | Uint8Array, key: number[] | Buffer | Uint8Array, iv: number[] | Buffer | Uint8Array, mode?: string, noPadding?: boolean): number[]; /** * sm4 解密 * * @param {byteArray} cipherText - 密文 * @param {byteArray} key - 密钥,16 字节 * @param {byteArray} iv - IV 或随机数,16 字节(ECB 模式下不需要) * @param {string} mode - 分组密码模式 CBC, ECB, CFB, OFB, CTR * @param {boolean] ignorePadding - 如果为 true,则忽略 ECB/CBC 模式下的填充问题,默认为 false * * @return {byteArray} - 明文 */ export declare function decrypt(cipherText: number[] | Buffer | Uint8Array, key: number[] | Buffer | Uint8Array, iv: number[] | Buffer | Uint8Array, mode?: string, ignorePadding?: boolean): number[]; /** * 创建 IV,16 字节 * * @returns {byteArray} - IV */ export declare function createIV(): number[] | Buffer | Uint8Array;