Files
DefinitelyTyped/types/js-rijndael/mcrypt.d.ts
Juansecu 5b4d224319 🤖 Merge PR #63148 Add types for js-rijndael library by @Juansecu
* 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>
2022-11-10 17:49:16 -08:00

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 };