Common-PW عبارة عن حزمة GO تنفذ نقطة نهاية JSON API للتحقق مما إذا كانت كلمة المرور في أعلى x الأكثر استخدامًا. يتم استخدام البيانات من قائمة الكلمات المحتملة
clone repo git clone https://github.com/mtchavez/common-pw
قم بتنزيل البيانات من مستودع قائمة الكلمات المحتملة ومكانه في دليل البيانات. حاليًا Top32Million-probable.txt
.
قم بتشغيل الخادم على المنفذ 3000 مع go run main.go
سيتم بناء مرشحات كلمة المرور في الخلفية ويمكن أن تستغرق حوالي 20 ثانية للبناء. سيتم تسجيل الوقت الذي يستغرقه بناء.
استخدم حليقة أو شيء مشابه للنشر إلى /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"
}