2.0.7 • Published 5 months ago

@mathiscode/password-leak v2.0.7

Weekly downloads
1
License
MIT
Repository
github
Last release
5 months ago

@mathiscode/password-leak

Live Demo

Version Downloads PRs Welcome GitHub license Known Vulnerabilities



Introduction

password-leak is a JavaScript module that can be used to determine if a password is compromised by checking with the Have I Been Pwned API.

How is this safe?

Your passwords are NEVER transmitted to any other system. This library makes use of the Have I Been Pwned API, which implements a k-Anonymity Model so your password can be checked without ever having to give it to any other party.

Installation

npm install @mathiscode/password-leak@latest

Usage in Browser

<script type="module" src="https://unpkg.com/@mathiscode/password-leak@latest"></script>

<script type="module">
  const isLeaked = await isPasswordLeaked('myPassword');
  const strength = await checkPasswordStrength('myPassword');
  console.log('Is leaked?', isLeaked);
  console.log('Strength', strength);
</script>

Usage in Node.js

With import/await

import { isPasswordLeaked, checkPasswordStrength } from '@mathiscode/password-leak'

const isLeaked = await isPasswordLeaked('myPassword')
const strength = await checkPasswordStrength('myPassword')
console.log('Is leaked?', isLeaked)
console.log('Strength', strength)

With require/sync

const { checkPasswordStrength, isPasswordLeakedSync } = require('@mathiscode/password-leak')

isPasswordLeakedSync('myPassword', (error, isLeaked) => {
  if (error) throw new Error(error)
  console.log('Is leaked?', isLeaked)
})

const strength = checkPasswordStrength('myPassword')
console.log('Strength', strength)

Usage in Command Line

Install globally:

npm install -g @mathiscode/password-leak

You can also use it without installing via npx:

npx @mathiscode/password-leak myPassword

You can then use it in two ways:

  1. Interactive mode:
password-leak
  1. Direct mode:
password-leak myPassword

The command will:

  • Print whether the password has been compromised and its strength
  • Exit with status code 0 if the password is safe
  • Exit with status code 1 if the password is compromised or an error occurs

Development

# Clone the repository
git clone https://github.com/mathiscode/password-leak.git
cd password-leak

# Use pnpm to install dependencies
pnpm install

# Build the project
pnpm run build

# Run the tests
pnpm run test

# Start the UI
pnpm run ui # demo at https://password-leak.vercel.app
2.0.3

9 months ago

2.0.2

9 months ago

2.0.5

7 months ago

2.0.4

9 months ago

2.0.7

5 months ago

2.0.6

5 months ago

2.0.1

9 months ago

2.0.0

9 months ago

1.2.11

6 years ago

1.2.10

6 years ago

1.2.9

6 years ago

1.2.8

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago