5 дней назад
История
README.md
@cutticat/passwords
Password encoding and generation library.
Contents
Overview
The library provides password encoders (PlainText, Bcrypt, DelegatingPasswordEncoder, DefaultPasswordEncoder) and a random password generation function. It uses types from @cutticat/types and alphabets from @cutticat/text.
Installation
pnpm i @cutticat/passwords
Quick start
import {
BcryptPasswordEncoder,
DefaultPasswordEncoder,
generateRandomPassword,
PlainTextPasswordEncoder,
} from "@cutticat/passwords"
// Password generation
const password = generateRandomPassword(16)
// Bcrypt encoding
const encoder = new BcryptPasswordEncoder()
const encoded = await encoder.encode(password)
const matches = await encoder.matches(password, encoded) // true
// Default encoder (plain in dev, bcrypt in prod)
const defaultEncoder = new DefaultPasswordEncoder({ isDevelopment: false })
const hash = await defaultEncoder.encode(password)
API
Generation
generateRandomPassword(length?, chars?)— generates a random passworddefaultPasswordLength— default length (16)defaultPasswordChars— default characters (letters, digits, special characters)
Encoders
PasswordEncoder— encoder interface (encode, matches)PlainTextPasswordEncoder— plain-text passwords (dev only)BcryptPasswordEncoder— bcrypt encodingDelegatingPasswordEncoder— delegates to a selected encoderDefaultPasswordEncoder— plain in dev, bcrypt in prodDefaultPasswordEncoderOptions— options: isDevelopment, bcrypt.saltRoundsDelegatingPasswordEncoderOptions— encoders, defaultEncoderName, fallbackEncoder, fallbackStrategy
Documentation
See also:
Full API documentation is available in JSDoc comments. Use your IDE autocomplete to browse it.
Requirements
- Node.js >= 22.0.0
- pnpm >= 10.17.0
- TypeScript >= 5.9.0
Описание
A library for working with passwords
Конвейеры
5
успешных
5
с ошибкой