لقد اقتربنا كثيرًا ، ويمكنني تقريبًا رؤية خط النهاية.
حتى معلقة هناك.
لدينا الآن التجزئة والعدد حتى نتمكن من إنهاء هذه الوظيفة المتمثلة في مسح تسريبات كلمة المرور ضوئيًا هنا أثناء
قيامنا بالتكرار خلال كل عنصر.
ماذا نريد أن نتحقق؟
حسنًا ، نريد التحقق مما إذا كانت التجزئة هي قصة التجزئة هنا.
يساوي التجزئة.
للتحقق ، تذكر ، التجزئة.
للتحقق هو نهاية كلمة مرور التجزئة الخاصة بنا والتي لم نرسلها أبدًا إلى أي شخص موجود على أجهزتنا الخاصة.
لذلك فهو لطيف وآمن.
وسوف نتحقق من ذلك لأن واجهة برمجة التطبيقات أعادت إلينا قائمة بهذه التجزئات الطرفية.
لذلك إذا كان هذا يتطابق بشكل جيد ، في هذه الحالة ، أريدك أن تعيد العد.
لذا أريد أن أعيد كم مرة تم تسريب كلمة المرور هذه؟
وإلا فقط عد.
صفر.
مرة أخرى ، يمكنني القيام بذلك لأنه سيخرج من هذه الحلقة عندما ترى الكلمة الرئيسية للعودة.
الآن في فحص واجهة برمجة التطبيقات (API) الخاصة بي ، سأقوم بتشغيل هذه الوظيفة التي ستلتقط Intel كل هذه المعلومات
وتعيد عدد المرات التي تم فيها تسريب كلمة المرور المجزأة.
لذلك لدينا شيء أخير لنفعله.
هذه هي القدرة على طباعة نتيجة كل هذه الحسابات بالفعل.
لذلك دعونا نزيل هذا الآن وننشئ وظيفة رئيسية.
وستتلقى هذه الوظيفة الرئيسية الحجج التي نقدمها هنا في سطر الأوامر.
لذلك سنقوم باستيراد وحدة CIS ، كما قد تكون قد رأيت من قبل.
وهنا ، سيكون لدينا وظيفة رئيسية تستقبل المعطيات ، وهي كلمات المرور التي نريد
التحقق منها.
والآن ، سنمر هنا.
لكن في الأسفل ، سوف نسمي الوظيفة الرئيسية.
باستخدام CIS dot RV وقبول أي عدد من الوسائط بعد أن نقوم بعمل python three ، تحقق من ماضي pi ثم نقدم له جميع الحجج
التي نريدها ، وهي كلمات المرور.
لذلك سنقوم بتشغيل الدالة على هذا النحو.
هذه الوظيفة الرئيسية.
كل ما سيفعله هو أننا سنقول كلمة المرور في الحجج لأنه يمكننا إعطائها كلمات مرور متعددة.
سنقوم بحلقة من خلال ذلك.
وسنحصل على كلمة مرور واحدة.
وإحصاء ، أو سنقوم فقط بالعد لأننا سنحصل على العدد من عدد تسريبات كلمة المرور.
لذلك يمكننا القيام بذلك بمجرد إجراء فحص pwned api.
وسنمرر لها كلمة المرور التي نتحقق منها.
وكل ما سنفعله هو في الواقع داخل هذه الكتلة ، لنقل إذا كان العدد موجودًا في هذه الحالة
، أريدك أن تطبع سلسلة F وستقول سلسلة F هذه.
ال.
كلمة المرور التي نقوم بالتكرار من خلالها.
وجد.
عد كم مرة؟
وبعد ذلك نقول ، ربما يجب أن تتغير.
كلمة السر خاصتك.
خلاف ذلك.
إذا كان هذا يعني أنه لا يوجد عدد ، فهذا يعني أنه لا توجد مطابقات ، فأنت على ما يرام.
يمكننا أن نقول.
إذا كانت السلسلة.
كلمة المرور.
لم يتم العثور على.
الاستمرار في.
إذن فهذه كلمة مرور جيدة.
يجب أن تستمر.
أنت بخير.
وأخيرًا ، للتسلية فقط ، دعنا نعود للخروج من هذه الوظيفة.
يعود؟
فعلت مثل ذلك.
إذا قمت بحفظ هذا ، فلنرى ما يعطينا هذا.
سأقول بايثون ثلاثة.
تحقق من تصريح المرور ودعنا نتحقق فقط.
مرحبًا؟
انا حصلت.
مرحبًا.
لم يكن من الممتع الاستمرار ، لكننا نعلم أنه تم العثور على مرحبًا من قبل.
الصحيح.
أعني ، هذه كلمة مرور بسيطة.
يجب أن نحصل على شيء جيد هنا.
الآن ، أريد أيضًا إزالة رد الطباعة هذا.
نظرًا لأننا لم نعد بحاجة إليه ، هل يمكنك اكتشاف الخطأ؟
مرة أخرى ، هذا جزء صعب بعض الشيء مع بايثون ، أليس كذلك؟
إنها المسافة البادئة وشيء رأيناه من قبل.
لذلك تريد أن تصبح جيدًا في تصحيح أخطاء الكود الخاص بك ومعرفة ما يحدث في هذه الحالة
، يمكننا أن نذهب خطوة بخطوة من خلال الكود ، لكن يمكننا أن نفكر ، حسنًا ، لم نختبر وظيفة العد هذه مطلقًا.
وإذا نظرنا إلى هنا ، فإن المسافة البادئة لدينا متوقفة قليلاً ، أليس كذلك؟
لدينا علامة if ، ولكننا نعود دائمًا إلى الصفر.
يجب أن تكون هذه الإرجاع على هذا النحو بعد حلقة for.
بعد أن قمنا بفحص كل شيء ، لم تتم مطابقة أي شيء.
ثم يجب أن نعيد الصفر.
لذلك إذا قمت بحفظ هذا وتشغيله مرة أخرى.
حسنًا ، إنه يعمل الآن.
لاحظت أن هذا خطأ بسيط واحد يمكن أن يمنحك نتائج مختلفة تمامًا.
لذلك من الجيد دائمًا أن تذهب خطوة بخطوة وتجربة شيء ما تعرف أنه يعمل بالفعل.
ومن المهم أيضًا استخدام مهارات تصحيح الأخطاء التي ستطورها خلال الدورة التدريبية لمحاولة
اكتشاف الأشياء.
الآن ، لن يكتب أي مبرمج برنامجًا مثاليًا على الفور.
في معظم الأوقات تحاول اكتشاف سبب حصولك على هذا الخطأ ، ولماذا
يحدث هذا ، وهذا مجرد شيء تصبح أفضل وأفضل فيه عند البرمجة.
لذا فإن العلاج الوحيد لذلك هو الاستمرار في الترميز.
آمل أن تكون قد رأيت خلال الدورة التدريبية بعض الأخطاء التي أرتكبها في كيفية تصحيحها بحيث
تبدأ في تبني هذه الأنماط أيضًا.
على أي حال ، هذا رائع.
هذا العمل أخيرًا.
لنجرب عدة أشياء أخرى.
دعنا نقول وداعا ثم بعض الثرثرة.
حسنا.
يبدو أن هذا يعمل أيضًا.
هذا رائع.
يعمل مدقق كلمة المرور لدينا.
الآن ، أريد أن أفعل شيئًا آخر هنا.
لإنهاء هذا المشروع.
لنفعل ذلك في الفيديو التالي.