/** * SHA-512, supporting hex, base64, crypt and HMAC hashes * @preferred */ export declare module sha512 { /** * Compute SHA-512 hash compatible with crypt implementation (`mkpasswd --method=sha-512`) * @param input - Input string to be hashed * @param salt - Salt to be used with algorithm. Salt length must be between 8 and 16 characters. Can contain magic prefix. Eg. param `$6$rounds=1000$saltvalue` Will use rounds decreased from default 5000 to 1000 and salt = `saltvalue` * @throws Error if input values validation fails */ const crypt: (input: string, salt: string) => string; /** * Compute SHA-512 hash with hexadecimal output * @param input - Input string to be hashed */ const hex: (input: string) => string; /** * Compute SHA-512 hash with base64 output * @param input - Input string to be hashed */ const base64: (input: string) => string; /** * Compute SHA-512 hash with custom alphabet * @param input - Input string to be hashed * @param alphabet - Custom alphabet to build result hash */ const any: (input: string, alphabet: string) => string; /** * Compute SHA-512 hash as hexadecimal with HMAC digest * @param key - HMAC key * @param data - Input data to be hashed */ const hexHmac: (key: string, data: string) => string; /** * Compute SHA-512 hash as base64 with HMAC digest * @param key - HMAC key * @param data - Input data to be hashed */ const base64Hmac: (key: string, data: string) => string; /** * Compute SHA-512 hash with HMAC digest and custom alphabet * @param key - HMAC key * @param data - Input data to be hashed * @param alphabet */ const anyHmac: (key: string, data: string, alphabet: string) => string; /** * Set padding character for base64 output. Set `=` to be strictly compliant with RFC-4648. * Default padding is empty string. * This is global per-module option. * @param b64pad - Base64 padding character */ function setBase64Padding(b64pad?: string): void; /** * Set HexCase for hex based methods. * Default is false. * This is global per-module option. * @param uppercase - true for uppercase output, false for lowercase output. */ function setHexCase(uppercase?: boolean): void; }