UNPKG

hash-wasm

Version:

Lightning fast hash functions for browsers and Node.js using hand-tuned WebAssembly binaries (MD4, MD5, SHA-1, SHA-2, SHA-3, Keccak, BLAKE2, BLAKE3, PBKDF2, Argon2, bcrypt, scrypt, Adler-32, CRC32, CRC32C, RIPEMD-160, HMAC, xxHash, SM3, Whirlpool)

43 lines (42 loc) 1.11 kB
import { type IDataType } from "./util"; export interface ScryptOptions { /** * Password (or message) to be hashed */ password: IDataType; /** * Salt (usually containing random bytes) */ salt: IDataType; /** * CPU / memory cost - must be a power of 2 (e.g. 1024) */ costFactor: number; /** * Block size (8 is commonly used) */ blockSize: number; /** * Degree of parallelism */ parallelism: number; /** * Output size in bytes */ hashLength: number; /** * Output data type. Defaults to hexadecimal string */ outputType?: "hex" | "binary"; } interface IScryptOptionsBinary { outputType: "binary"; } type ScryptReturnType<T> = T extends IScryptOptionsBinary ? Uint8Array : string; /** * Calculates hash using the scrypt password-based key derivation function * @returns Computed hash as a hexadecimal string or as * Uint8Array depending on the outputType option */ export declare function scrypt<T extends ScryptOptions>(options: T): Promise<ScryptReturnType<T>>; export {};