// Type definitions for bcrypt-nodejs 0.0 // Project: https://github.com/shaneGirish/bcrypt-nodejs // Definitions by: David Broder-Rodgers // Piotr Błażejewicz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** * Generate a salt synchronously * @param rounds Number of rounds to process the data for (default - 10) * @return Generated salt */ export function genSaltSync(rounds?: number): string; /** * Generate a salt asynchronously * @param rounds Number of rounds to process the data for (default - 10) * @param callback Callback with error and resulting salt, to be fired once the salt has been generated */ export function genSalt(rounds: number, callback: (error: Error, result: string) => void): void; /** * Generate a hash synchronously * @param data Data to be encrypted * @param salt Salt to be used in encryption (default - new salt generated with 10 rounds) * @return Generated hash */ export function hashSync(data: string, salt?: string): string; /** * Generate a hash asynchronously * @param data Data to be encrypted * @param salt Salt to be used in encryption * @param callback Callback with error and hashed result, to be fired once the data has been encrypted */ export function hash(data: string, salt: string, callback: (error: Error, result: string) => void): void; /** * Generate a hash asynchronously * @param data Data to be encrypted * @param salt Salt to be used in encryption * @param progressCallback Callback to be fired multiple times during the hash calculation to signify progress * @param callback Callback with error and hashed result, to be fired once the data has been encrypted */ export function hash( data: string, salt: string, progressCallback: null | (() => void), callback: (error: Error, result: string) => void, ): void; /** * Compares data with a hash synchronously * @param data Data to be compared * @param hash Hash to be compared to * @return true if matching, false otherwise */ export function compareSync(data: string, hash: string): boolean; /** * Compares data with a hash asynchronously * @param data Data to be compared * @param hash Hash to be compared to * @param callback Callback with error and match result, to be fired once the data has been compared */ export function compare(data: string, hash: string, callback: (error: Error, result: boolean) => void): void; /** * Get number of rounds used for hash * @param hash Hash from which the number of rounds used should be extracted * @return number of rounds used to encrypt a given hash */ export function getRounds(hash: string): number;