Common-PW es un Packge Go implementando un punto final de la API JSON para verificar si una contraseña está en la X superior más utilizada. Los datos se usan desde una lista de palabras probable
Clon repo git clone https://github.com/mtchavez/common-pw
Descargue los datos del probable repositorio de la lista de palabras y coloque en el directorio de datos. Actualmente, Top32Million-probable.txt
no está en control de versiones debido al tamaño.
Ejecute el servidor en el puerto 3000 con go run main.go
Los filtros de contraseña se desarrollarán en segundo plano y pueden tardar ~ 20 segundos en construirse. El tiempo que llevó a la construcción se registrará.
Use curl o algo similar a Post to /validate
con un cuerpo JSON:
{
"password" : " the password to check "
}
Ejemplos:
$ 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"
}
Se requiere una contraseña
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{}' | jq
{
"error": "a password must be provided",
"status": "failed"
}