# dcodeio/bcrypt.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dcodeio-bcrypt-js).**

3,797 stars · 286 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/dcodeIO/bcrypt.js
- awesome-repositories: https://awesome-repositories.com/repository/dcodeio-bcrypt-js.md

## Description

Bcrypt.js is a pure JavaScript implementation of the bcrypt password hashing algorithm designed for secure credential storage and authentication. It provides a self-contained utility for hashing passwords and verifying them against stored values, protecting against brute-force and rainbow table attacks through the use of unique, deterministic salts and computationally expensive key stretching.

The library is distinguished by its zero-dependency design and its ability to execute identical cryptographic logic across both server-side environments and client-side web browsers. By avoiding native C++ bindings or external system libraries, it ensures consistent behavior and portability across different JavaScript runtimes.

The project includes comprehensive utilities for managing password security, including configurable work factors to adjust processing intensity and built-in validation to handle password length constraints. It is distributed as a standalone module that can be integrated directly into authentication workflows to manage sensitive user data.

## Tags

### Security & Cryptography

- [Bcrypt Implementations](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/password-hashing-utilities/bcrypt-implementations.md) — Provides a pure JavaScript implementation of the bcrypt algorithm for secure password hashing and verification.
- [Cross-Runtime Cryptographic Libraries](https://awesome-repositories.com/f/security-cryptography/cross-runtime-cryptographic-libraries.md) — Implements consistent password hashing that functions identically across both server-side and client-side JavaScript environments.
- [Blowfish Key Derivation Schemes](https://awesome-repositories.com/f/security-cryptography/blowfish-key-derivation-schemes.md) — Utilizes the Blowfish block cipher to perform computationally expensive key stretching that makes brute-force attacks significantly slower for attackers.
- [Cross-Platform Auth Clients](https://awesome-repositories.com/f/security-cryptography/cross-platform-auth-clients.md) — Implements consistent password hashing logic that functions identically across both server-side Node.js environments and client-side web browsers.
- [Cryptographic Salt Generation](https://awesome-repositories.com/f/security-cryptography/cryptographic-random-number-generators/cryptographic-salt-generation.md) — Creates random salt values to ensure that identical passwords result in unique hashes, preventing attackers from using precomputed tables to guess user credentials. ([source](https://github.com/dcodeio/bcrypt.js#readme))
- [Salt-Embedded Hashes](https://awesome-repositories.com/f/security-cryptography/cryptographic-random-number-generators/cryptographic-salt-generation/salt-embedded-hashes.md) — Incorporates random salt values into the hashing process to ensure that identical inputs produce unique outputs and prevent rainbow table attacks.
- [Cryptographic Utilities](https://awesome-repositories.com/f/security-cryptography/cryptographic-utilities.md) — Provides a zero-dependency library for generating salts and hashing user credentials to protect against brute-force and rainbow table attacks.
- [Credential Storage](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/session-and-credential-handling/credential-security-utilities/credential-storage.md) — Generates unique cryptographic salts to ensure that identical passwords result in distinct hashes, mitigating the risk of precomputed dictionary attacks.
- [Password Verification](https://awesome-repositories.com/f/security-cryptography/password-verification.md) — Compares a provided plain-text password against a stored hash to determine if they match without exposing the original password to the application logic. ([source](https://github.com/dcodeio/bcrypt.js#readme))
- [Password Hashing Utilities](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/password-hashing-utilities.md) — Generates secure, salted hashes from plain-text passwords using a configurable number of processing rounds to protect sensitive user data against brute-force attacks. ([source](https://github.com/dcodeio/bcrypt.js#readme))
- [User Authentication Workflows](https://awesome-repositories.com/f/security-cryptography/user-authentication-workflows.md) — Verifies user identities during login by comparing provided passwords against stored cryptographic hashes without exposing the original plain text.
- [Work Factor Iteration Controls](https://awesome-repositories.com/f/security-cryptography/work-factor-iteration-controls.md) — Applies a variable number of processing rounds to the hashing function to allow security adjustments as hardware performance increases over time.

### Programming Languages & Runtimes

- [Pure JavaScript Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/pure-javascript-implementations.md) — Executes complex hashing algorithms entirely within the JavaScript runtime without relying on external native C++ bindings or system libraries.

### Software Engineering & Architecture

- [Zero-Dependency Libraries](https://awesome-repositories.com/f/software-engineering-architecture/zero-dependency-libraries.md) — Maintains a self-contained codebase that avoids external package requirements to ensure portability across browser and server-side JavaScript environments.

### Part of an Awesome List

- [Cryptography and Security](https://awesome-repositories.com/f/awesome-lists/security/cryptography-and-security.md) — Optimized, zero-dependency bcrypt implementation.
