https://github.com/bluet/express-pwnd-pw
Express.js security middleware for checking user password safety with Have I Been Pwned (HIBP) API
https://github.com/bluet/express-pwnd-pw
express express-middleware expressjs hacktoberfest hibp middleware node nodejs password password-safety security
Last synced: 4 months ago
JSON representation
Express.js security middleware for checking user password safety with Have I Been Pwned (HIBP) API
- Host: GitHub
- URL: https://github.com/bluet/express-pwnd-pw
- Owner: bluet
- License: mit
- Created: 2019-02-24T01:42:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2026-02-11T17:50:19.000Z (4 months ago)
- Last Synced: 2026-02-11T21:47:07.991Z (4 months ago)
- Topics: express, express-middleware, expressjs, hacktoberfest, hibp, middleware, node, nodejs, password, password-safety, security
- Language: JavaScript
- Homepage:
- Size: 224 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/BlueT/express-pwnd-pw)
[](https://sonarcloud.io/dashboard?id=BlueT_express-pwnd-pw)
[](https://www.codetriage.com/bluet/express-pwnd-pw)
[](https://www.npmjs.org/package/express-pwnd-pw)
[](https://packagephobia.now.sh/result?p=express-pwnd-pw)
[](http://npm-stat.com/charts.html?package=express-pwnd-pw)
[](https://github.com/BlueT/express-pwnd-pw/blob/master/LICENSE)
# express-pwnd-pw
Express.js security middleware for checking user password safety with Have I Been Pwned (HIBP) API.
## INSTALL
`npm i express-pwnd-pw`
Or find help from:
- https://www.npmjs.com/package/express-pwnd-pw
- https://github.com/BlueT/express-pwnd-pw
## SYNOPSIS
~~~~ js
"use strict";
var express = require('express');
var app = express();
var pwndPw = require('express-pwnd-pw');
app.use(pwndPw()); // use default settings
app.post('/foo', function (req, res) {
if (Object.keys(req.pwndPw) > 0) {
// It's a popular password! (rock)
}
res.send('Hello World!');
});
app.get('/bar', function (req, res) {
// ...
let vuln = pwndPw.password('12345');
if (Object.keys(vuln) > 0) {
// It's a popular password! (rock)
}
})
app.listen(3000);
~~~~
## Middleware
~~~~ js
"use strict";
var express = require('express');
var app = express();
var pwndPw = require('express-pwnd-pw');
app.use(pwndPw()); // use default settings
app.post('/foo', function (req, res) {
if (Object.keys(req.pwndPw) > 0) {
// It's a popular password! (rock)
// { '8cb2237d0679ca88db6464eac60da96345513964': 2333232 }
}
res.send('Hello World!');
});
app.listen(3000);
~~~~
## Helper Functions
### password()
~~~~ js
var pwndPw = require('express-pwnd-pw');
let vuln = pwndPw.password(['12345', '67890']);
if (Object.keys(vuln) > 0) {
// It's a popular password! (rock)
// {
// '8cb2237d0679ca88db6464eac60da96345513964': 2333232,
// '230991abcd77e8173edb0af392e1f11120051e29': 6638
// }
}
~~~~
## Contribute
PRs welcome!
If you use/like this module, please don't hesitate to give me a **Star**. I'll be happy whole day!
_Hope this module can save your time, a tree, and a kitten._