0.2.1 • Published 8 years ago
stupid-passwords v0.2.1
Guard your users from security problems such as being hacked that start by having stupid passwords
Introduction
stupid-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 stupid-passwords --save
Usage
Short example:
const stupidPasswords = require('stupid-passwords');
const isStupid = stupidPasswords.isStupid('123456'); // true
// or use:
// const isStupid = stupidPasswords.isOneOfThem('123456');
// const isStupid = stupidPasswords.check('123456');
Embedding it into your EXPRESS application:
'use strict';
const app = require('express')();
const stupidPasswords = require('stupid-passwords');
...
app.post('/user/create', (req, res) => {
const userPassword = req.body.userPassword;
if (stupidPasswords.check(userPassword)) {
const rate = stupidPasswords.rateOfUsage(userPassword);
let message = 'Dear user, that\'s a stupid 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
stupidPasswords.isStupid(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.
stupidPasswords.rateOfUsage(string) => {password, frequency}
Checks and returns the recorded usage frequency of the related password per 100,000 user passwords.
stupidPasswords.rateOfUsage('superman') // { password: 'superman', frequency: 2523 }
License
MIT © Eugene Mutai | Kevin Gathuku | Jeremy Kithome
DISCLAIMER: All opinions aired in this repo are ours and do not reflect any company or organisation any contributor is involved with.