- License
- MIT
- Deps
- 0
- Install Size
- 22.4 kB(605.2 kB)
- Vulns
- 0
- Published
$
npm install @node-rs/bcrypt$
pnpm add @node-rs/bcrypt$
yarn add @node-rs/bcrypt$
bun add @node-rs/bcrypt$
deno add npm:@node-rs/bcrypt$
vlt install @node-rs/bcrypt@node-rs/bcrypt
๐ Fastest bcrypt in Node.js
Usage
export const DEFAULT_COST: 12
export function hashSync(password: string | Buffer, round?: number): string
export function hash(password: string | Buffer, round?: number): Promise<string>
export function verifySync(password: string | Buffer, hash: string | Buffer): boolean
export function verify(password: string | Buffer, hash: string | Buffer): Promise<boolean>
/**
* The same with `verifySync`
*/
export function compareSync(password: string | Buffer, hash: string | Buffer): boolean
/**
* The same with `verify`
*/
export function compare(password: string | Buffer, hash: string | Buffer): Promise<boolean>
export type Version = '2a' | '2x' | '2y' | '2b'
/**
* @param version default '2b'
*/
export function genSaltSync(round: number, version?: Version): string
/**
* @param version default '2b'
*/
export function genSalt(round: number, version?: Version): Promise<string>
Bench
,MMMM. Host - xxxxxxxxxxxxxxxxxxxxxxx
.MMMMMM Machine - Mac15,9
MMMMM, Kernel - 24.0.0
.;MMMMM:' MMMMMMMMMM;. OS - macOS 15.0.1 Sequoia
MMMMMMMMMMMMNWMMMMMMMMMMM: DE - Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMWM. WM - Quartz Compositor
MMMMMMMMMMMMMMMMMMMMMMMMM. Packages - 194 (Homebrew), 32 (cargo)
;MMMMMMMMMMMMMMMMMMMMMMMM: Shell - zsh
:MMMMMMMMMMMMMMMMMMMMMMMM: Terminal - warpterminal (Version v0.2024.10.23.14.49.stable_00)
.MMMMMMMMMMMMMMMMMMMMMMMMM. Resolution - 5120x2880@160fps (as 2560x1440)
MMMMMMMMMMMMMMMMMMMMMMMMMMM. 2992x1934@120fps (as 1496x967)
.MMMMMMMMMMMMMMMMMMMMMMMMMM. 2232x1512@60fps (as 1116x756)
MMMMMMMMMMMMMMMMMMMMMMMM Uptime - 1d 2h 32m
;MMMMMMMMMMMMMMMMMMMM. CPU - Apple M3 Max (16)
.MMMM,. .MMMM,. CPU Load - 16%
Memory - 50.1 GB / 134.2 GB
Battery - 78% & Discharging
Disk Space - 624.0 GB / 994.7 GB
โฏ yarn workspace @node-rs/bcrypt bench
Hash benchmark
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโ
โ (index) โ Task Name โ ops/sec โ Average Time (ns) โ Margin โ Samples โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโค
โ 0 โ '@node-rs/bcrypt' โ '20' โ 49142200.63636367 โ 'ยฑ1.08%' โ 11 โ
โ 1 โ 'node bcrypt' โ '20' โ 49259219.81818187 โ 'ยฑ1.35%' โ 11 โ
โ 2 โ 'bcryptjs' โ '17' โ 58142116.79999998 โ 'ยฑ0.36%' โ 10 โ
โ 3 โ 'wasm OpenBSD' โ '17' โ 58318899.99999994 โ 'ยฑ0.23%' โ 10 โ
โ 4 โ 'wasm Openwall' โ '18' โ 53324629.20000016 โ 'ยฑ0.37%' โ 10 โ
โโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโ
Verify benchmark
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโ
โ (index) โ Task Name โ ops/sec โ Average Time (ns) โ Margin โ Samples โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโค
โ 0 โ '@node-rs/bcrypt' โ '5' โ 192946879.09999993 โ 'ยฑ0.52%' โ 10 โ
โ 1 โ 'node bcrypt' โ '5' โ 199806404.2 โ 'ยฑ0.36%' โ 10 โ
โ 2 โ 'bcryptjs' โ '4' โ 231329516.79999986 โ 'ยฑ0.13%' โ 10 โ
โโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโ
GenSalt benchmark
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโ
โ (index) โ Task Name โ ops/sec โ Average Time (ns) โ Margin โ Samples โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโค
โ 0 โ '@node-rs/bcrypt' โ '4,421,897' โ 226.14727567195578 โ 'ยฑ0.08%' โ 2210949 โ
โ 1 โ 'node bcrypt' โ '4,477,408' โ 223.34345972377827 โ 'ยฑ0.08%' โ 2238705 โ
โ 2 โ 'bcryptjs' โ '821,556' โ 1217.2015511950851 โ 'ยฑ0.39%' โ 410779 โ
โ 3 โ 'wasm OpenBSD' โ '3,685,603' โ 271.3259889021118 โ 'ยฑ0.23%' โ 1842802 โ
โ 4 โ 'wasm Openwall' โ '1,462,251' โ 683.8769076754866 โ 'ยฑ2.50%' โ 731126 โ
โโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโ