114 lines
3.1 KiB
TypeScript
114 lines
3.1 KiB
TypeScript
// https://github.com/nozzlegear/crypto-js.d.ts/blob/master/crypto-js.d.ts
|
|
// Forked from https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/9143f1233f13692c14ae2afe7aee2d5014cba916/crypto-js/crypto-js.d.ts
|
|
|
|
declare namespace CryptoJS {
|
|
type Hash = (message: string, key?: string, ...options: any[]) => string;
|
|
interface Cipher {
|
|
encrypt(message: string, secretPassphrase: string, option?: CipherOption): WordArray;
|
|
decrypt(encryptedMessage: string | WordArray, secretPassphrase: string, option?: CipherOption): DecryptedMessage;
|
|
}
|
|
interface CipherAlgorythm {
|
|
createEncryptor(secretPassphrase: string, option?: CipherOption): Encriptor;
|
|
createDecryptor(secretPassphrase: string, option?: CipherOption): Decryptor;
|
|
}
|
|
interface Encriptor {
|
|
process(messagePart: string): string;
|
|
finalize(): string;
|
|
}
|
|
interface Decryptor {
|
|
process(messagePart: string): string;
|
|
finalize(): string;
|
|
}
|
|
interface WordArray {
|
|
iv: string;
|
|
salt: string;
|
|
ciphertext: string;
|
|
key?: string;
|
|
}
|
|
type DecryptedMessage = {
|
|
toString(encoder?: Encoder): string;
|
|
};
|
|
interface CipherOption {
|
|
iv?: string;
|
|
mode?: Mode;
|
|
padding?: Padding;
|
|
[option: string]: any;
|
|
}
|
|
interface Encoder {
|
|
parse(encodedMessage: string): any;
|
|
stringify(words: any): string;
|
|
}
|
|
|
|
interface Mode {}
|
|
interface Padding {}
|
|
|
|
interface Hashes {
|
|
MD5: Hash;
|
|
SHA1: Hash;
|
|
SHA256: Hash;
|
|
SHA224: Hash;
|
|
SHA512: Hash;
|
|
SHA384: Hash;
|
|
SHA3: Hash;
|
|
RIPEMD160: Hash;
|
|
HmacMD5: Hash;
|
|
HmacSHA1: Hash;
|
|
HmacSHA256: Hash;
|
|
HmacSHA224: Hash;
|
|
HmacSHA512: Hash;
|
|
HmacSHA384: Hash;
|
|
HmacSHA3: Hash;
|
|
HmacRIPEMD160: Hash;
|
|
PBKDF2: Hash;
|
|
AES: Cipher;
|
|
DES: Cipher;
|
|
TripleDES: Cipher;
|
|
RC4: Cipher;
|
|
RC4Drop: Cipher;
|
|
Rabbit: Cipher;
|
|
RabbitLegacy: Cipher;
|
|
EvpKDF: Cipher;
|
|
algo: {
|
|
AES: CipherAlgorythm;
|
|
DES: CipherAlgorythm;
|
|
TrippleDES: CipherAlgorythm;
|
|
RC4: CipherAlgorythm;
|
|
RC4Drop: CipherAlgorythm;
|
|
Rabbit: CipherAlgorythm;
|
|
RabbitLegacy: CipherAlgorythm;
|
|
EvpKDF: CipherAlgorythm;
|
|
};
|
|
format: {
|
|
OpenSSL: any;
|
|
Hex: any;
|
|
};
|
|
enc: {
|
|
Latin1: Encoder;
|
|
Utf8: Encoder;
|
|
Hex: Encoder;
|
|
Utf16: Encoder;
|
|
Utf16LE: Encoder;
|
|
Base64: Encoder;
|
|
};
|
|
mode: {
|
|
CFB: Mode;
|
|
CTR: Mode;
|
|
CTRGladman: Mode;
|
|
OFB: Mode;
|
|
ECB: Mode;
|
|
};
|
|
pad: {
|
|
Pkcs7: Padding;
|
|
AnsiX923: Padding;
|
|
Iso10126: Padding;
|
|
Iso97971: Padding;
|
|
ZeroPadding: Padding;
|
|
NoPadding: Padding;
|
|
};
|
|
}
|
|
}
|
|
|
|
declare let CryptoJS: CryptoJS.Hashes;
|
|
|
|
export default CryptoJS
|