123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- type Message = string | number[] | ArrayBuffer | Uint8Array;
- interface Hasher {
- /**
- * Update hash
- *
- * @param message The message you want to hash.
- */
- update(message: Message): Hasher;
- /**
- * Return hash in hex string.
- */
- hex(): string;
- /**
- * Return hash in hex string.
- */
- toString(): string;
- /**
- * Return hash in ArrayBuffer.
- */
- arrayBuffer(): ArrayBuffer;
- /**
- * Return hash in integer array.
- */
- digest(): number[];
- /**
- * Return hash in integer array.
- */
- array(): number[];
- }
- interface Hash {
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- */
- (message: Message): string;
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- */
- hex(message: Message): string;
- /**
- * Hash and return ArrayBuffer.
- *
- * @param message The message you want to hash.
- */
- arrayBuffer(message: Message): ArrayBuffer;
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- */
- digest(message: Message): number[];
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- */
- array(message: Message): number[];
- /**
- * Create a hash object.
- */
- create(): Hasher;
- /**
- * Create a hash object and hash message.
- *
- * @param message The message you want to hash.
- */
- update(message: Message): Hasher;
- }
- interface ShakeHash {
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- (message: Message, outputBits: number): string;
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- hex(message: Message, outputBits: number): string;
- /**
- * Hash and return ArrayBuffer.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- arrayBuffer(message: Message, outputBits: number): ArrayBuffer;
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- digest(message: Message, outputBits: number): number[];
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- array(message: Message, outputBits: number): number[];
- /**
- * Create a hash object.
- *
- * @param outputBits The length of output.
- * @param outputBits The length of output.
- */
- create(outputBits: number): Hasher;
- /**
- * Create a hash object and hash message.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- */
- update(message: Message, outputBits: number): Hasher;
- }
- interface CshakeHash {
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- (message: Message, outputBits: number, functionName: Message, customization: Message): string;
- /**
- * Hash and return hex string.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- hex(message: Message, outputBits: number, functionName: Message, customization: Message): string;
- /**
- * Hash and return ArrayBuffer.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- arrayBuffer(message: Message, outputBits: number, functionName: Message, customization: Message): ArrayBuffer;
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- digest(message: Message, outputBits: number, functionName: Message, customization: Message): number[];
- /**
- * Hash and return integer array.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- array(message: Message, outputBits: number, functionName: Message, customization: Message): number[];
- /**
- * Create a hash object.
- *
- * @param outputBits The length of output.
- * @param outputBits The length of output.
- */
- create(outputBits: number): Hasher;
- /**
- * Create a hash object.
- *
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- create(outputBits: number, functionName: Message, customization: Message): Hasher;
- /**
- * Create a hash object and hash message.
- *
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param functionName The function name string.
- * @param customization The customization string.
- */
- update(message: Message, outputBits: number, functionName: Message, customization: Message): Hasher;
- }
- interface KmacHash {
- /**
- * Hash and return hex string.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- (key: Message, message: Message, outputBits: number, customization: Message): string;
- /**
- * Hash and return hex string.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- hex(key: Message, message: Message, outputBits: number, customization: Message): string;
- /**
- * Hash and return ArrayBuffer.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- arrayBuffer(key: Message, message: Message, outputBits: number, customization: Message): ArrayBuffer;
- /**
- * Hash and return integer array.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- digest(key: Message, message: Message, outputBits: number, customization: Message): number[];
- /**
- * Hash and return integer array.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- array(key: Message, message: Message, outputBits: number, customization: Message): number[];
- /**
- * Create a hash object.
- *
- * @param key The key string.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- create(key: Message, outputBits: number, customization: Message): Hasher;
- /**
- * Create a hash object and hash message.
- *
- * @param key The key string.
- * @param message The message you want to hash.
- * @param outputBits The length of output.
- * @param customization The customization string.
- */
- update(key: Message, message: Message, outputBits: number, customization: Message): Hasher;
- }
- export var sha3_512: Hash;
- export var sha3_384: Hash;
- export var sha3_256: Hash;
- export var sha3_224: Hash;
- export var keccak_512: Hash;
- export var keccak_384: Hash;
- export var keccak_256: Hash;
- export var keccak_224: Hash;
- export var keccak512: Hash;
- export var keccak384: Hash;
- export var keccak256: Hash;
- export var keccak224: Hash;
- export var shake_128: ShakeHash;
- export var shake_256: ShakeHash;
- export var shake128: ShakeHash;
- export var shake256: ShakeHash;
- export var cshake_128: CshakeHash;
- export var cshake_256: CshakeHash;
- export var cshake128: CshakeHash;
- export var cshake256: CshakeHash;
- export var kmac_128: KmacHash;
- export var kmac_256: KmacHash;
- export var kmac128: KmacHash;
- export var kmac256: KmacHash;
|