Giter Site home page Giter Site logo

edwinwalela / dumb-passwords Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kn9ts/dumb-passwords

0.0 1.0 0.0 855 KB

Don't let your user be a victim of their own action

Home Page: https://npmjs.com/package/dumb-passwords

License: MIT License

JavaScript 100.00%

dumb-passwords's Introduction

Coverage Status

Guard your users from security problems such as being hacked that start by having dumb passwords

Introduction

dumb-passwords is an NPM module that can be used to verify the user provided password is not one of the top 10,000 worst passwords as analysed by a respectable IT security analyst. Read about all here, here(wired) or here(telegram)

Getting Started

Installation

$ npm install dumb-passwords --save

Usage

Short example:

const dumbPasswords = require('dumb-passwords');

const isDumb = dumbPasswords.check('123456'); // true
// or use:
// const isDumb = dumbPasswords.checkPassword('123456');

Embedding it into your EXPRESS application:

'use strict';

const app = require('express')();
const dumbPasswords = require('dumb-passwords');

...

app.post('/user/create', (req, res) => {
  const userPassword = req.body.userPassword;

  if (dumbPasswords.check(userPassword)) {
    const rate = dumbPasswords.rateOfUsage(userPassword);
    let message = 'Dear user, that\'s a dumb password!';
    message += ' Why? For every 100,000 user accounts on the internet, ';
    message += rate.frequency + ' are "protected" using that same password.';
    message += ' Hacker\'s paradise.';

    // DO NOT send this back to your user, it's only for demo purposes
    res.status(200).send(message);
  } else {
    // that password is awesome!
    // that user SMART! Give them the key to success!
  }
});

...

app.listen(8080, () => {
  console.log('Express server listening on on port 8080');
});

// expose app
module.exports = app;

API

dumbPasswords.check(string) => true or false

Check if the string provided, representing the user's proposed submitted password is not one of the top 10,000 worst passwords users use.

returns true if the password is one of them and false if the password is not.

dumbPasswords.rateOfUsage(string) => {password, frequency}

Checks and returns the recorded usage frequency of the related password per 100,000 user passwords.

dumbPasswords.rateOfUsage('superman') // { password: 'superman', frequency: 2523 }

License

DISCLAIMER: All opinions aired in this repo are ours and do not reflect any company or organisation any contributor is involved with.

dumb-passwords's People

Contributors

kn9ts avatar kevgathuku avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.