Common-PW ist ein Go Packge, der einen JSON-API-Endpunkt implementiert, um zu überprüfen, ob ein Kennwort am häufigsten verwendet wird. Daten werden aus der wahrscheinlichen Wortliste verwendet
Clone Repo git clone https://github.com/mtchavez/common-pw
Laden Sie die Daten aus dem wahrscheinlichen Wortlisten -Repository herunter und platzieren Sie sie in das Datenverzeichnis. Derzeit ist Top32Million-probable.txt
aufgrund der Größe nicht in der Versionskontrolle.
Führen Sie den Server auf Port 3000 mit go run main.go
aus. Die Kennwortfilter erstellen im Hintergrund und können ~ 20 Sekunden dauern, bis es erstellt wird. Die Zeit, die für den Bau benötigt wurde, wird ausgeloggt.
Verwenden Sie Curl oder ähnliches, um mit einem JSON -Körper zu posten /validate
:
{
"password" : " the password to check "
}
Beispiele:
$ 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"
}
Ein Passwort ist erforderlich
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{}' | jq
{
"error": "a password must be provided",
"status": "failed"
}