Common-PW是實現JSON API端點的GO Packge,以檢查密碼是否在最常用的X上最常用。數據來自可能的單詞列表
克隆回購git clone https://github.com/mtchavez/common-pw
從可能的單詞列表存儲庫中下載數據,然後放置在數據目錄中。目前,由於尺寸, Top32Million-probable.txt
不在版本控制中。
使用go run main.go
在端口3000上運行服務器。密碼過濾器將在後台構建,並且可能需要20秒才能構建。構建的時間將被記錄出去。
使用捲髮或類似的東西與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"
}