Common-PW는 JSON API 엔드 포인트를 구현하여 암호가 가장 일반적으로 사용되는 상위 X에 있는지 확인하는 GO Packge입니다. 데이터는 가능한 단어 목록에서 사용됩니다
클론 repo git clone https://github.com/mtchavez/common-pw
가능한 워드리스트 리포지토리에서 데이터를 다운로드하고 데이터 디렉토리에 배치하십시오. 현재 Top32Million-probable.txt
크기 때문에 버전 제어가 아닙니다.
go run main.go
와 함께 포트 3000에서 서버를 실행하십시오. 비밀번호 필터는 백그라운드에서 구축되며 빌드하는 데 ~ 20 초가 걸릴 수 있습니다. 빌드에 걸리는 시간은 로그 아웃됩니다.
Curl 또는 유사한 것을 사용하여 JSON 본체로 게시 /validate
사용하십시오.
{
"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"
}