blackpaper
A simple Password Strength Estimator
Summary
| Latest Version | 0.1.0 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-09-04 07:26 |
Tags
Authors
- George Lemon
Installation
nimble install blackpaper
choosenim install blackpaper
git clone https://github.com/openpeeps/blackpaper
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| blackpaper | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= | 2.0.0 | No |
| floof | - | No |
Source
| Repository | https://github.com/openpeeps/blackpaper |
|---|---|
| Homepage | https://github.com/openpeeps/blackpaper |
| Registry Source | nimble_official |
README
A super simple Password Strength Estimator
Written in 👑 Nim language
nimble install blackpaper
😍 Key Features
- 🚀 Fast and efficient implementation in Nim language
- 👌 Estimate on length • character diversity • repetition • sequential patterns • leet substitutions
- 🔎 Optional common password list for penalizing known weak/common passwords
- 🚀 SIMD-accelerated fuzzy matching for fast detection using pkg/floof
- 💪 Framework-agnostic, can be used in any Nim project
[!NOTE] This package does not provide a common password list. You can find one online and feed it to the estimator.
Examples
Here is an example password strength estimation using Blackpaper without a common password list:
import blackpaper
let res = passwordStrength("P@ssw0rd123")
echo "Score: ", res.score
echo "Strength: ", res.strength # Weak
echo "Reason: ", res.reason # TooPredictable
And here is an example with a common password list.
import blackpaper
let commonPasswords = @["password", "123456", "qwerty", "abc123", "P@ssw0rd123",
"word", "fox", "jumped", "over", "lazy", "dogs"]
for pwd in ["Word Fox Jumped Over", "P@ssw0rd", "3s4F5j~@!1Z6woG"]:
let res = passwordStrength(pwd, commonPasswords)
echo "Password: ", pwd
echo "Score: ", res.score
echo "Strength: ", res.strength
echo "Reason: ", res.reason
echo "-----------------------------"
❤ Contributions & Support
- 🐛 Found a bug? Create a new Issue
- 👋 Wanna help? Fork it!
- 😎 Get €20 in cloud credits from Hetzner
🎩 License
MIT license. Made by Humans from OpenPeeps.
Copyright OpenPeeps & Contributors — All rights reserved.