UNPKG

@blueking/crypto-js-sdk

Version:

crypto-js-sdk

52 lines (51 loc) 1.43 kB
export default class SM3Digest { ivByte: number[]; iv: number[]; tj: number[]; BLOCK_BYTE_LEN: number; vbuf: number[]; dataBuf: number[]; dataBufLen: number; totalLen: number; constructor(); ffj(x: number, y: number, z: number, i: number): number; ggj(x: number, y: number, z: number, i: number): number; p0(x: number): number; p1(x: number): number; /** * 循环左移 */ cycleLeft(x: number, moveLen: number): number; /** * 消息填充函数 * @param data * @return */ padding(data: number[]): number[]; /** * 对数据进行分组迭代,每64个字节迭代一次 * <br>1、对消息进行分组,由于是int类型,则每16个分一组,对每一组再调用{@link #expand}进行拓展 * <br>2、使用上一轮的迭代结果V,调用{@link #cf}进行本轮迭代 * <br>3、最后一轮迭代结果复制进缓冲区vbuf * @param message */ iterate(message: number[]): void; /** * 消息数据拓展函数 * @param b * @return */ expand(b: number[]): any[][]; /** * 迭代压缩函数 * * @param v * @param w1 * @param w2 * @return */ cf(v: number[], w1: number[], w2: number[]): any[]; digest(data: number[]): number[]; update(data: number[], pos: any, len: number): void; doFinal(): any[]; }