Pw

PwnedPasswords as a (Micro)Service

Hacker News

PwnedPasswords as a (Micro)Service

Recently I became interested in knowing whether the passwords I used were in the list of breached passwords. One way to find out is to send your password to the link here https://haveibeenpwned.com/Passwords. However, while the owner of that website is a well respected security researcher, I still don't think it's wise to send my password to another website. So I downloaded the 24gb file, hashed my password and grepped the file for it. That unfortunately took a long time and I realized this was the perfect opportunity to use a BloomFilter and test the inclusion of a password in a set. With a bloomfilter, the 24gb file can be compressed down to ~2gb assuming a false positive rate of 1 in a million. You can achieve even better rates with lower false positives. Despite it dropping to 2gb, I wasn't satisfied and decided to compress the bloomfilter using golomb codes. This type of data structure is known as a golomb set and I was able to get the database down to ~1.475gb. That makes it small enough to exist in a microservice that any company can use to test whether users are using hacked passwords. With a golomb set the time to test a password was microseconds. I made some node js bindings and put the file in a simple express app. Now anyone can create a pwned password as a micro-service! It's open source because you can audit the code and confirm no one is logging your passwords. Anyway thought I'd share it since I'm more or less done with this. Future work could split the 2gb file into on disk files and therefore require significantly less ram to work. This would be a great use case of storing the entire list in a laptop or phone for example, where it would take 1.5gb of disk, but be able to quickly tell you if a password you are typing is in a breached list. Anyways here's the link: https://github.com/terencechow/PwnedPasswords Cheers!

Share card

Actual performance

5points
6comments
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Missing: supports, reddit linkedin, podcasting
77%77% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: exist, open source, ide · Missing: https docs, excited, just released
72%72% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: user, using, code · Missing: mac, agents, macos
61%61% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: users, way · Missing: mobile apps, ios, personal
45%45% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: users · Missing: plus, platform, intuitive
36%36% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
12%12% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Pi
Piku, a Micro-PaaS for ARM and x8665%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Piku, a Micro-PaaS for ARM and x86

Hacker News1
Pi
Piku, a Micro-PaaS for ARM and x8665%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Piku, a Micro-PaaS for ARM and x86

Hacker News19
Ig
Iguana, a micro-ODM for AngularJS45%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Iguana, a micro-ODM for AngularJS

Hacker News1
Ta
Taunus, a Micro Isomorphic MVC Lib37%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Taunus, a Micro Isomorphic MVC Lib

Hacker News1
Mi
Micro RPC – RPC Microservice Built on Zeit's Micro29%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Micro RPC – RPC Microservice Built on Zeit's Micro

Hacker News2
Ak
Akas: A Micro-Podcasting App26%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Akas: A Micro-Podcasting App

Hacker News1
sl
slim - Build micro-vms from Dockerfiles63%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

slim - Build micro-vms from Dockerfiles

Hacker News14
Be
Beander, a platform for micro-roasters69%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Beander, a platform for micro-roasters

Hacker News7
Mi
Micro-Services on Micro-Controllers54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Micro-Services on Micro-Controllers

Hacker News3
Mi
Micro commenting tool52%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Micro commenting tool

Hacker News1