Common-PW-это Packge, реализующий конечную точку API JSON, чтобы проверить, находится ли пароль в верхнем X чаще всего используется. Данные используются из возможного списка слов
Clone Repo git clone https://github.com/mtchavez/common-pw
Загрузите данные из вероятного репозитория списка слов и поместите в каталог данных. В настоящее время Top32Million-probable.txt
не находится в контроле версий из-за размера.
Запустите сервер на порту 3000 с помощью go run main.go
Фильтры пароля будут создаваться в фоновом режиме и могут построить ~ 20 секунд. Время, которое потребовалось для строительства, будет вычеркнуто.
Используйте Curl или что -то похожее на Post, чтобы /validate
с помощью тела JSON:
{
"password" : " the password to check "
}
Примеры:
$ 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"
}
Требуется пароль
$ curl -s -XPOST -H "Content-Type: application/json" http://localhost:3000/validate --data '{}' | jq
{
"error": "a password must be provided",
"status": "failed"
}