初始版本
This commit is contained in:
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
declare module 'gmsm-sm4js' {
|
||||
export function bindSM4(sjcl: any): void
|
||||
}
|
||||
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
declare module 'sjcl-with-all' {
|
||||
export interface BitArray extends Array<number> {}
|
||||
|
||||
export interface Codec {
|
||||
bytes: {
|
||||
toBits(bytes: number[]): BitArray
|
||||
fromBits(bits: BitArray): number[]
|
||||
}
|
||||
hex: {
|
||||
toBits(hex: string): BitArray
|
||||
fromBits(bits: BitArray): string
|
||||
}
|
||||
utf8String: {
|
||||
toBits(str: string): BitArray
|
||||
fromBits(bits: BitArray): string
|
||||
}
|
||||
}
|
||||
|
||||
export interface BitArrayUtils {
|
||||
concat(arrays: BitArray[]): BitArray
|
||||
bitLength(bits: BitArray): number
|
||||
clamp(bits: BitArray, length: number): BitArray
|
||||
partial(length: number, x: number, n: number): number
|
||||
getPartial(x: number): number
|
||||
equal(a: BitArray, b: BitArray): boolean
|
||||
shift(bits: BitArray, shift: number): BitArray
|
||||
xor(a: BitArray, b: BitArray): BitArray
|
||||
bitSlice(bits: BitArray, end: number, start?: number): BitArray
|
||||
bytesToMsb(bytes: number[]): number[]
|
||||
msbToBytes(msb: number[]): number[]
|
||||
bitsToBytes(bits: BitArray): number[]
|
||||
bytesToBits(bytes: number[]): BitArray
|
||||
}
|
||||
|
||||
export interface Mode {
|
||||
cbc: {
|
||||
name: string
|
||||
encrypt(prp: any, plaintext: BitArray, iv: BitArray, adata?: BitArray): BitArray
|
||||
decrypt(prp: any, ciphertext: BitArray, iv: BitArray, adata?: BitArray): BitArray
|
||||
}
|
||||
gcm: {
|
||||
name: string
|
||||
encrypt(prp: any, plaintext: BitArray, iv: BitArray, adata?: BitArray, tagLength?: number): BitArray | { data: BitArray, tag: BitArray }
|
||||
decrypt(prp: any, ciphertext: BitArray, iv: BitArray, adata?: BitArray, tagLength?: number): BitArray | { data: BitArray, tag: BitArray }
|
||||
}
|
||||
}
|
||||
|
||||
export interface Beware {
|
||||
[key: string]: (() => void) | any
|
||||
}
|
||||
|
||||
export interface SJCL {
|
||||
cipher: {
|
||||
sm4: any
|
||||
}
|
||||
codec: Codec
|
||||
bitArray: BitArrayUtils
|
||||
mode: Mode
|
||||
beware: Beware
|
||||
}
|
||||
|
||||
const sjcl: SJCL
|
||||
export = sjcl
|
||||
}
|
||||
Reference in New Issue
Block a user