kelektiv/node.bcrypt.js

bcrypt for NodeJs

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 28 minutes ago
Added to GitGenius on September 8th, 2026
Created on April 15th, 2010
Open Issues & Pull Requests: 38 (+0)
GitHub issues: Enabled
Number of forks: 551
Total Stargazers: 7,801 (+0)
Total Subscribers: 62 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.8 days
Mean response time: 50.9 days
90th percentile: 88.9 days
Tracked items: 77

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 506 days
Stale 30+ days: 17
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (1)
  • build (1)
  • invalid (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

node.bcrypt.js is a library for hashing passwords in Node.js applications.

The library addresses the critical need to securely store passwords by implementing the bcrypt algorithm, which is designed to be computationally expensive and resistant to brute-force attacks. It wraps the bcrypt algorithm in a Node.js-compatible interface, handling the complexity of password hashing and verification so developers do not need to implement these security-sensitive operations themselves.

Developers should adopt this library if they are building Node.js applications that require password storage and authentication. It is suitable for any project handling user credentials, from small applications to large-scale systems. The library supports both $2a$ and $2b$ prefix bcrypt hashes and maintains backward compatibility with hashes generated by earlier versions, allowing for straightforward migration. The README emphasizes that users must run stable versions of Node.js, as the library uses node-gyp for compilation and does not support unstable Node releases.

The project maintains strict requirements around bug reporting, requesting that issues include sufficient reproducible code snippets or logs and that only stable Node.js versions be used when filing reports. The README contains detailed security documentation, including warnings about critical vulnerabilities in versions prior to v5.0.0 that could lead to severely weakened passwords through truncation or improper handling of NUL characters, with explicit guidance to upgrade. The library documents version compatibility across a wide range of Node.js releases and notes that only the first 72 bytes of passwords are used during matching, with special attention to UTF-8 encoding implications for multi-byte characters.