169 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| 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[];
 | |
| 
 | |
|   /**
 | |
|    * Return hash in base64 string.
 | |
|    */
 | |
|   base64(): string;
 | |
| }
 | |
| 
 | |
| interface Hmac {
 | |
|   /**
 | |
|    * Computes a Hash-based message authentication code (HMAC) using a secret key
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   (secretKey: Message, message: Message): string;
 | |
| 
 | |
|   /**
 | |
|    * Create a hash object using a secret key.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    */
 | |
|   create(secretKey: Message): Hasher;
 | |
| 
 | |
|   /**
 | |
|    * Create a hash object and hash message using a secret key
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   update(secretKey: Message, message: Message): Hasher;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in hex string.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   hex(secretKey: Message, message: Message): string;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in ArrayBuffer.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   arrayBuffer(secretKey: Message, message: Message): ArrayBuffer;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in integer array.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   digest(secretKey: Message, message: Message): number[];
 | |
| 
 | |
|   /**
 | |
|    * Return hash in integer array.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   array(secretKey: Message, message: Message): number[];
 | |
| 
 | |
|   /**
 | |
|    * Return hash in base64 string.
 | |
|    *
 | |
|    * @param secretKey The Secret Key
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   base64(secretKey: Message, message: Message): string;
 | |
| }
 | |
| 
 | |
| interface Hash {
 | |
|   /**
 | |
|    * Hash and return hex string.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   (message: Message): string;
 | |
| 
 | |
|   /**
 | |
|    * 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;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in hex string.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   hex(message: Message): string;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in ArrayBuffer.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   arrayBuffer(message: Message): ArrayBuffer;
 | |
| 
 | |
|   /**
 | |
|    * Return hash in integer array.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   digest(message: Message): number[];
 | |
| 
 | |
|   /**
 | |
|    * Return hash in integer array.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   array(message: Message): number[];
 | |
| 
 | |
|   /**
 | |
|    * Return hash in base64 string.
 | |
|    *
 | |
|    * @param message The message you want to hash.
 | |
|    */
 | |
|   base64(message: Message): string;
 | |
| 
 | |
|   /**
 | |
|    * HMAC interface
 | |
|    */
 | |
|   hmac: Hmac;
 | |
| }
 | |
| 
 | |
| export var md5: Hash;
 |