@blueking/crypto-js-sdk
Version:
crypto-js-sdk
33 lines (32 loc) • 1.43 kB
TypeScript
/// <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;