{"id":44631630,"url":"https://github.com/bluet/express-pwnd-pw","last_synced_at":"2026-02-14T16:35:08.762Z","repository":{"id":34225589,"uuid":"172284072","full_name":"bluet/express-pwnd-pw","owner":"bluet","description":"Express.js security middleware for checking user password safety with Have I Been Pwned (HIBP) API","archived":false,"fork":false,"pushed_at":"2026-02-11T17:50:19.000Z","size":229,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-11T21:47:07.991Z","etag":null,"topics":["express","express-middleware","expressjs","hacktoberfest","hibp","middleware","node","nodejs","password","password-safety","security"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bluet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-24T01:42:12.000Z","updated_at":"2025-11-25T11:08:00.000Z","dependencies_parsed_at":"2023-02-10T12:01:10.273Z","dependency_job_id":"18aff8ee-cf34-4e91-bfed-fbe7d1a6b950","html_url":"https://github.com/bluet/express-pwnd-pw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bluet/express-pwnd-pw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluet%2Fexpress-pwnd-pw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluet%2Fexpress-pwnd-pw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluet%2Fexpress-pwnd-pw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluet%2Fexpress-pwnd-pw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluet","download_url":"https://codeload.github.com/bluet/express-pwnd-pw/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluet%2Fexpress-pwnd-pw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29449374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","express-middleware","expressjs","hacktoberfest","hibp","middleware","node","nodejs","password","password-safety","security"],"created_at":"2026-02-14T16:35:08.024Z","updated_at":"2026-02-14T16:35:08.747Z","avatar_url":"https://github.com/bluet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/BlueT/express-pwnd-pw.svg?branch=master)](https://travis-ci.org/BlueT/express-pwnd-pw) \n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=BlueT_express-pwnd-pw\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=BlueT_express-pwnd-pw)\n[![Open Source Helpers](https://www.codetriage.com/bluet/express-pwnd-pw/badges/users.svg)](https://www.codetriage.com/bluet/express-pwnd-pw)  \n[![npm version](https://img.shields.io/npm/v/express-pwnd-pw.svg)](https://www.npmjs.org/package/express-pwnd-pw)\n[![install size](https://packagephobia.now.sh/badge?p=express-pwnd-pw)](https://packagephobia.now.sh/result?p=express-pwnd-pw)\n[![npm downloads](https://img.shields.io/npm/dm/express-pwnd-pw.svg)](http://npm-stat.com/charts.html?package=express-pwnd-pw)\n[![GitHub license](https://img.shields.io/github/license/BlueT/express-pwnd-pw.svg)](https://github.com/BlueT/express-pwnd-pw/blob/master/LICENSE)\n\n# express-pwnd-pw\n\nExpress.js security middleware for checking user password safety with Have I Been Pwned (HIBP) API.\n\n## INSTALL\n\n`npm i express-pwnd-pw`\n\nOr find help from:\n- https://www.npmjs.com/package/express-pwnd-pw\n- https://github.com/BlueT/express-pwnd-pw\n\n## SYNOPSIS\n\n~~~~ js\n\"use strict\";\nvar express = require('express');\nvar app = express();\nvar pwndPw = require('express-pwnd-pw');\n\napp.use(pwndPw());\t// use default settings\n\napp.post('/foo', function (req, res) {\n\tif (Object.keys(req.pwndPw) \u003e 0) {\n\t\t// It's a popular password! (rock)\n\t}\n\tres.send('Hello World!');\n});\n\napp.get('/bar', function (req, res) {\n\t// ...\n\tlet vuln = pwndPw.password('12345');\n\tif (Object.keys(vuln) \u003e 0) {\n\t\t// It's a popular password! (rock)\n\t}\n})\n\napp.listen(3000);\n~~~~\n\n\n## Middleware\n\n~~~~ js\n\"use strict\";\nvar express = require('express');\nvar app = express();\nvar pwndPw = require('express-pwnd-pw');\n\napp.use(pwndPw());\t// use default settings\n\napp.post('/foo', function (req, res) {\n\tif (Object.keys(req.pwndPw) \u003e 0) {\n\t\t// It's a popular password! (rock)\n\t\t// { '8cb2237d0679ca88db6464eac60da96345513964': 2333232 }\n\t}\n\tres.send('Hello World!');\n});\n\napp.listen(3000);\n~~~~\n\n## Helper Functions\n\n### password()\n\n~~~~ js\nvar pwndPw = require('express-pwnd-pw');\n\nlet vuln = pwndPw.password(['12345', '67890']);\nif (Object.keys(vuln) \u003e 0) {\n\t// It's a popular password! (rock)\n\t// {\n\t// \t'8cb2237d0679ca88db6464eac60da96345513964': 2333232,\n\t// \t'230991abcd77e8173edb0af392e1f11120051e29': 6638\n\t// }\n}\n\n~~~~\n\n\n## Contribute\n\nPRs welcome!  \nIf you use/like this module, please don't hesitate to give me a **Star**. I'll be happy whole day!\n\n_Hope this module can save your time, a tree, and a kitten._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluet%2Fexpress-pwnd-pw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluet%2Fexpress-pwnd-pw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluet%2Fexpress-pwnd-pw/lists"}