Common-PW est un packge GO implémentant un point de terminaison JSON API pour vérifier si un mot de passe est dans les x supérieurs les plus couramment utilisés. Les données sont utilisées à partir de la liste de mots probable
Clone Repo git clone https://github.com/mtchavez/common-pw
Téléchargez les données du référentiel de listes de mots probables et placez-vous dans le répertoire de données. Actuellement, Top32Million-probable.txt
n'est pas dans le contrôle de version en raison de la taille.
Exécutez le serveur sur le port 3000 avec go run main.go
Les filtres de mot de passe s'appuieront en arrière-plan et peuvent prendre ~ 20 secondes à construire. Le temps nécessaire à la construction sera déconnecté.
Utilisez Curl ou quelque chose de similaire pour publier /validate
avec un corps JSON:
{
"password" : " the password to check "
}
Exemples:
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{"password": "iloveyou"}' | jq
{
"status": "OK",
"top196": "true",
"top3575": "true",
"top95k": "true"
}
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{"password": "annabelle"}' | jq
{
"status": "OK",
"top196": "false",
"top3575": "true",
"top95k": "true"
}
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{"password": "!@#$%^&*("}' | jq
{
"status": "OK",
"top196": "false",
"top3575": "false",
"top95k": "true"
}
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{"password": "Portlandia"}' | jq
{
"status": "OK",
"top196": "false",
"top3575": "false",
"top95k": "false"
}
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{"password": "Portlandia"}' | jq
{
"status": "OK",
"top196": "false",
"top32m": "true",
"top3575": "false",
"top95k": "false"
}
Un mot de passe est requis
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{}' | jq
{
"error": "a password must be provided",
"status": "failed"
}