مرحبًا بعودتك.
دعنا نواصل بناء أداتنا الرائعة.
لدينا فحص API الخاص بالبركة والذي يقوم فقط بتحويل كلمة المرور الخاصة بنا إلى SHA واحد.
لكننا نحتاج إلى إرسال هذا إلى API.
كلمة المرور API.
إذن ماذا يمكننا أن نفعل هنا؟
أول شيء نريد القيام به هو أن نتذكر أننا نحتاج فقط إلى الأحرف الخمسة الأولى من كلمة المرور الخاصة بنا أو كلمة المرور
المجزأة حتى نتمكن من القيام بشيء ممتع هنا.
يمكننا أن نقول أول خمسة أحرف.
ولدينا أيضًا ما نسميه الذيل.
لذلك سنقوم بتخزين الأحرف الخمسة الأولى والمتغير الأول.
وفي المتغير الثاني سنقوم بتخزين المتبقي لأننا سنحتاج كلاهما لاحقًا.
حتى هنا.
يمكننا فقط استخدام الشيء الصغير الأنيق الذي تتيحه لنا بايثون ، وهو بناء الجملة
الصغير اللطيف للاستيلاء على البداية حتى الحرف الخامس.
ثم الجزء الثاني.
الأحرف المتبقية.
لذا بدءًا من الفهرس الخامس حتى النهاية ، إنه أمر رائع وسهل.
وهذا شيء تعلمناه من قبل.
إذن لدينا الآن الأحرف الخمسة الأولى والذيل.
وهنا يمكننا الآن إضافة هذا إلى بيانات واجهة برمجة التطبيقات لطلبنا ، لذا يمكنني الآن استدعاء بيانات واجهة برمجة تطبيقات
طلبي ، وهنا أعطيها جيدًا الأحرف الخمسة الأولى ودعنا نخزن الاستجابة هنا.
مثل ذلك.
لنرى الآن نوع الاستجابة التي نحصل عليها.
لذا سأعيد الرد هنا.
ولكي نتأكد من أننا نفعل كل شيء بشكل صحيح ، فلنطبع الأحرف الخمسة الأولى والذيل
أيضًا للتأكد من أن كل شيء يعمل.
إذا قمت بتشغيل هذا.
حسنا.
يبدو أنني أتلقى الأحرف الخمسة الأولى.
توجد مساحة هنا ، ثم المساحة المتبقية ، ولا يوجد لدينا أي خطأ.
يبدو أن الاستجابة تعمل ، لذا دعنا نطبع الرد أيضًا.
وتأكد من أن ذلك يعمل أيضًا.
يبدو أننا تلقينا ردًا بقيمة 200 ، لكننا ما زلنا غير متأكدين تمامًا من نوع البيانات التي نتلقاها.
ماذا يمكننا ان نفعل هنا؟
حسنًا ، أريد معرفة المزيد عن هذه البيانات التي نعود إليها.
لذلك دعونا ننشئ دالة أخرى هنا.
والآن نسميها استجابة قراءة.
وسنقدم لها الاستجابة التي نحصل عليها.
وهنا ، دعنا نحاول قراءة هذه الإجابة.
يمكننا في الواقع عمل استجابة مطبوعة ، نص نقطي هنا.
لأنها استجابة API.
لذلك من الناحية المثالية يمكننا قراءة النص فقط ، دعنا نرى ما إذا كان هذا سيفعل شيئًا.
لذا فإن رد الإرجاع هذا سيكون قد قرأ للتو.
الرد مثل ذلك.
إذا قمت بتشغيل هذا.
مهلا ، انظر إلى ذلك.
هذا هو ردنا.
كما ترى ، هناك الكثير من كلمات المرور المجزأة.
هناك الكثير منهم.
يبدو مثل بضع مئات.
إذن هذا ما حصلنا عليه من استجابتنا.
باستخدام الرد على النص ، نحصل على جميع التجزئات التي تطابق بداية كلمة المرور المجزأة.
رائع جدا.
ما يمكننا فعله في الواقع.
ترى هنا كيف نحصل على 24 ، ثلاثة واحد.
وهلم جرا.
يوضح لك هذا في الواقع عدد المرات التي تم فيها اختراق كلمات المرور هذه.
هذا رائع.
لذلك ، من الناحية المثالية ، يمكننا الحصول على العد ، ومعرفة ما إذا كان أي منها يتطابق مع ذيلنا
، لأنه يمكننا الآن التحقق من الذيل وطباعة العدد أيضًا.
لذا فبدلاً من الحصول على وظيفة الاستجابة للقراءة ، دعنا نحصل عليها.
كلمة المرور.
التسريبات.
وظيفة العد التي تتلقى التجزئة أو الاستجابة والتجزئة الفعلية.
للتحقق ، وهو تجزئة كلمة المرور الخاصة بنا والتي نحتاج إلى التحقق منها.
لذلك سوف نتحقق من هذه التجزئة للتحقق من كل التجزئات وتكرارها.
حتى نتمكن من فعل شيء مرة أخرى.
أنيق مع Python هنا يمكننا القول أن التجزئة تساوي.
ويمكننا استخدام tuple هنا ويمكننا بالفعل إجراء فهم tuple الذي رأيناه من قبل.
أستطيع أن أقول انقسام خط نقطة.
لذلك سنقوم بتقسيم كل شيء في السطر ، والذي يمكنك رؤيته من خلال هذه الأعمدة هنا.
هذا هو ذيل التجزئة وعدد المرات التي تم اختراقها.
لذلك سنقوم بتقسيمه على العمود.
وبعد ذلك سنقوم بالتكرار ونقول أربعة أسطر.
هذا هو المكان الذي يأتي منه الخط.
أربعة أسطر في التجزئة.
نص نقطة.
الآن ، إذا تركت الأمر على هذا النحو ، فلن يعمل هذا في الواقع.
وسأريكم لماذا في ثانية.
في الواقع ، دعنا نفعل ذلك الآن.
لذلك دعونا نرى ما هي تجزئات الطباعة التي ستعطينا إياها.
بدلا من رد ريد.
سنقوم بتشغيل هذا الآن.
لذا احصل على حساب تسريب كلمة المرور.
وإذا ركضت ، دعنا نوضح هذا.
لدي خطأ؟
حسنًا ، لقد تلقيت خطأ لأنه يتعين علينا إضافة التجزئة للتحقق أيضًا.
إذن ما الذي يجب أن يكون التجزئة المراد التحقق منه؟
حسنًا ، إنه الذيل ، أليس كذلك؟
ذيل كلمة المرور الفعلية الخاصة بنا.
لذلك سأضيف الذيل إلى المعلمة الثانية.
احفظ وقم بالتشغيل مرة أخرى.
حسنًا ، لقد تلقيت ردًا.
200 وأحصل على كائن مولد.
كائن المولد هذا ، يمكننا في الواقع تنفيذ حلقة من خلال المعدل.
لنرى ماذا سيحدث إذا قمت بأربعة.
تذكر ، لدينا التجزئة والعد ، لذلك دعونا نجري التجزئة h للتجزئة ونحسب في التجزئة لأننا تذكر
أننا قمنا بالتحويل إلى بنية تحتوي على التجزئة ثم العد.
لأننا ننقسم ، أتتذكرون؟
لذلك إذا فعلنا هذا.
دعونا فقط نطبع كل منها ونعدها.
إذا قمت بتشغيل هذا.
همم.
لدي خطأ.
خطأ في القيمة.
لا توجد قيم كافية لتفريغ محتوياتها.
نتوقع أن تكون واحدة.
همم.
لماذا هذا؟
دعنا فقط نطبع H ونرى ما سيحدث.
وإزالة العد الآن.
دعونا مسح هذا وتشغيل هذا مرة أخرى.
همم.
يبدو أننا لم ننقسم بشكل صحيح.
كل عنصر هو قائمته الخاصة.
لذا فعلينا استخدام شيء يسمى الخطوط المنقسمة هنا على الخيط.
وكما ترى.
تقوم بإرجاع قائمة بالأسطر في السلسلة.
ويتكسر عند حدود الخط.
لذلك عندما نقوم بالفعل بعمل حلقة من أربع حلقات فوق نص التجزئة ، إذا مررنا لأعلى ، فلنرى ما إذا كان بإمكاننا رؤيته.
لا ، لم يعد هناك.
ولكن إذا مررنا لأعلى ، فلدينا قائمة ضخمة من النصوص.
من الناحية المثالية في كل سطر ، قمنا بتقسيم هذا الخط بحيث يكون هذا السطر جيدًا بدلاً من كل عنصر على حدة ،
والتجزئة الفعلية والعدد.
لذلك علينا فقط عمل خطوط منقطة مثل هذا.
إذا قمت بحفظ هذا وتشغيله مرة أخرى.
هذا أفضل بكثير.
والآن لدينا ما نريد.
يمكننا مرة أخرى العودة إلى ما كان لدينا من قبل ، وهو أمر مهم.
وإذا قمنا بطباعة H وعدناها ، فلنحفظ.
قم بتشغيل هذا مرة أخرى.
وهذا أفضل بكثير.
لدينا كل عنصر منفصل.
لنأخذ استراحة ونواصل هذا في الفيديو التالي.