mirror of
https://github.com/chenasraf/DefinitelyTyped.git
synced 2026-05-18 01:49:01 +00:00
* Add types for js-rijndael library * Added types for mcrypt * Added tests * Added tsconfig.json file * Added tslint.json file * Fix reported issues by npm test js-rijndael command * Removed "I" prefix from ICipher interface * Redundant uses of "declare" keyword were removed * Header was removed from non index.d.ts files * Move interfaces and types inside mcrypt.d.ts * Change Uint8Array data type by array of numbers Co-authored-by: Juan Sebastian Cuello Vergara <jcuello@bancolombia.com.co>
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
export type Cipher = Record<CipherAlgorithm, CipherBody>;
|
|
|
|
export type CipherAlgorithm = 'rijndael-128' | 'rijndael-192' | 'rijndael-256';
|
|
|
|
export interface CipherBody {
|
|
blockSize: number;
|
|
keySize: number;
|
|
}
|
|
|
|
export type Mode = 'cbc' | 'cfb' | 'ctr' | 'ecb' | 'ncfb' | 'nofb';
|
|
|
|
declare const ciphers: CipherBody & {
|
|
'rijndael-128': { blockSize: 16; keySize: 32 };
|
|
'rijndael-192': { blockSize: 24; keySize: 32 };
|
|
'rijndael-256': { blockSize: 32; keySize: 32 };
|
|
};
|
|
|
|
declare function crypt(
|
|
encrypt: boolean,
|
|
text: number[],
|
|
IV: number[],
|
|
key: number[],
|
|
cipher: CipherAlgorithm,
|
|
mode: Mode,
|
|
): true | number[];
|
|
|
|
declare function rijndaelCipher(block: number[], key: number[], encrypt: boolean): number[];
|
|
|
|
export function decrypt(
|
|
ctext: number[],
|
|
IV: number[],
|
|
key: number[],
|
|
cipher: CipherAlgorithm,
|
|
mode: Mode,
|
|
): true | number[];
|
|
|
|
export function encrypt(
|
|
message: number[],
|
|
IV: number[],
|
|
key: number[],
|
|
cipher: CipherAlgorithm,
|
|
mode: Mode,
|
|
): true | number[];
|
|
|
|
export function getBlockSize(cipher: CipherAlgorithm): number;
|
|
|
|
export function getKeySize(cipher: CipherAlgorithm): number;
|
|
|
|
export function listAlgorithms(): CipherAlgorithm[];
|
|
|
|
export function listModes(): Mode[];
|
|
|
|
export { getBlockSize as getIVSize };
|