A super simple Password Strength Estimator
Written in π Nim language
nimble install blackpaper
- π 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.
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 # TooPredictableAnd 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 "-----------------------------"- π Found a bug? Create a new Issue
- π Wanna help? Fork it!
- π Get β¬20 in cloud credits from Hetzner
MIT license. Made by Humans from OpenPeeps.
Copyright OpenPeeps & Contributors β All rights reserved.