@bemoje/crypto
v2.0.0
Published
Encryption, decryption, and string hashing utilities built on Node.js crypto.
Maintainers
Readme
@bemoje/crypto
Encryption, decryption, and string hashing utilities built on Node.js crypto.
Exports
- decrypt + encrypted data Uses PBKDF2 for key derivation with 100k iterations.
- encrypt: Encrypts a string using AES-256-CBC with a random IV. Uses PBKDF2 for key derivation with 100k iterations.
- strHashToBuffer: Hash a string into a buffer with a given algorithm
- strHashToString: Hash a string into a buffer with a given algorithm
- strHashToStringDJB2: Hashes a string using the DJB2 algorithm, returning a numeric hash value.
- strHashToUint32Array: Hash a string into an array of unsigned 32-bit integers.
Installation
npm install @bemoje/cryptoUsage
Encrypt & Decrypt
AES-256-CBC encryption with PBKDF2 key derivation:
import { encrypt, decrypt } from '@bemoje/crypto'
const secret = 'my-private-key'
const encrypted = encrypt(secret, 'Hello, World!')
// => '7f3a...c8b2' (hex string with IV prefix)
decrypt(secret, encrypted)
// => 'Hello, World!'String Hashing
import { strHashToString, strHashToBuffer, strHashToStringDJB2 } from '@bemoje/crypto'
// SHA-256 hash as hex string
strHashToString('hello', 'sha256', 'hex')
// => '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824'
// SHA-256 hash as base64
strHashToString('hello', 'sha256', 'base64')
// => 'LPJNul+wow4m6DsqxbninhsWHowMvUarIdUoR...'
// Hash to Buffer for binary operations
const buf = strHashToBuffer('hello', 'sha256')
// Fast DJB2 hash (non-cryptographic)
strHashToStringDJB2('hello')
// => 261238937