ldap-passwords
TypeScript icon, indicating that this package has built-in type declarations

3.0.2 • Public • Published

ldap-passwords offers secure password hashing and verification using LDAP password algorithms.

npm License Gitmoji rosa.dev.br

✨ Features

  • Encrypt a plain text password with Ldap passwords algorithm.
  • Verify encrypted passwords.
  • No external dependencies.

🪄 Supported Algorithms

  • SHA512 CRYPT
  • SSHA
  • MD5

🚀 Setup

  1. Install with your favorite package manager:
    • pnpm : pnpm i ldap-passwords
    • npm : npm i ldap-passwords
    • yarn : yarn add ldap-passwords
    • bun : bun add ldap-passwords

⚡️ SHA512 CRYPT

  1. Import the function into your project:
import { sha512Crypt, verifySha512Crypt } from 'ldap-passwords'
  1. Encrypt a plain text password using sha512 and a random salt:
const encryptedPassword = sha512Crypt('mySuperSecretPassword')
// return {CRYPT}$6$NQgPVC0up/oNVCb4$Aduz92Zfo/PFDE/XhvA3QmSqHquqdNiCdZvc9N5/UTpEUepMdd/6Mq/TeoM07wvyxHpg8ELGVzTWZt2e7Z9LY/
  1. Encrypt a plain text password using sha512 and a custom salt:
    The maximum length of salt is 16 characters
const encryptedPassword = sha512Crypt('mySuperSecretPassword', 'myDopeCustomSalt')
// return {CRYPT}$6$myDopeCustomSalt$4ENRn.vwcs09z0fjr6Jt3NMOFVkn.p9v7ilDcK/CwRnQm48Y5HawkiGivh4gBTLwSY4SQNfCAe05E1nCTpZ0u.
  1. Validate your plain text password with a sha512 encrypted password:
    The sha512 password can be either a single string or an array of strings. The plain text password will be compared to each sha512 password and the function will return true if any of them matches
const isValid = verifySha512Crypt('mySuperSecretPassword', arrayOfSha512Passwords)
// return true or false

💡 SSHA

  1. Import the function into your project:
import { ssha, verifySSHA } from 'ldap-passwords'
  1. Encrypt a plain text password using SSHA:
const encryptedPassword = ssha('mySuperSecretPassword')
// return {SSHA}sTIysPunEI4boe6OwgQO+/tRZao2OWJIbDMvY0g2UlM=
  1. Validate your plain text password with a MD5 encrypted password:
    The SSHA password can be either a single string or an array of strings. The plain text password will be compared to each SSHA password and the function will return true if any of them matches
const isValid = verifySSHA('mySuperSecretPassword', arrayOfSSHAPasswords)
// return true or false

💥 MD5

  1. Import the function into your project:
import { md5, verifyMD5 } from 'ldap-passwords'
  1. Encrypt a plain text password using md5:
const encryptedPassword = md5('mySuperSecretPassword')
// return {MD5}aTVgaG9NWR2N1eNABkQgYQ==
  1. Validate your plain text password with a MD5 encrypted password:
    The MD5 password can be either a single string or an array of strings. The plain text password will be compared to each MD5 password and the function will return true if any of them matches
const isValid = verifyMD5('mySuperSecretPassword', arrayOfMD5Passwords)
// return true or false

🔍 Verify All

  1. Import the function into your project:
import { ldapVerifyAll } from 'ldap-passwords'
  1. Validate your plain text password with a MD5, SSHA or SHA512 encrypted password: The hashed password can be either a single string or an array of strings. The plain text password will be compared to each hashed password and the function will return true if any of them matches
const isValid = ldapVerifyAl('mySuperSecretPassword', arrayOfHashedPasswords)
// return true or false

📝 License

Copyright © 2024 Gabriel 'DethDKN' Rosa
This project is under MIT license

Dependencies (0)

    Dev Dependencies (7)

    Package Sidebar

    Install

    npm i ldap-passwords

    Weekly Downloads

    5

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    272 kB

    Total Files

    40

    Last publish

    Collaborators

    • dethdkn