"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > بناء مدقق قوة كلمة المرور في بايثون

بناء مدقق قوة كلمة المرور في بايثون

تم النشر بتاريخ 2024-11-01
تصفح:851

مرحبًا مرة أخرى، ومرحبًا بكم في البرنامج التعليمي اليوم. اليوم، سنقوم ببناء مدقق بسيط لقوة كلمة المرور باستخدام بايثون. سنشرح كيفية عمل الرمز خطوة بخطوة وسنقدم نصائح حول كيفية تحسين كلمات المرور الخاصة بك.

لماذا تعتبر قوة كلمة المرور مهمة؟

كلمة المرور الضعيفة تجعل من السهل على المتسللين تخمينها أو اختراقها باستخدام طرق مختلفة، مما يعرض معلوماتك الشخصية للخطر. كلمة المرور القوية هي:

  • طويلة بما يكفي (12 حرفًا على الأقل)
  • يستخدم مزيجًا من الأحرف (الأحرف الكبيرة والصغيرة) والأرقام والأحرف الخاصة
  • يتجنب الكلمات الشائعة أو المتوقعة

لنبدأ ببناء أداة تعمل على تقييم قوة كلمة المرور بناءً على هذه القواعد.

إعداد بيئتك

قبل أن نبدأ بالبرمجة، تأكد من تثبيت Python على جهاز الكمبيوتر الخاص بك.

قم بإنشاء ملف بايثون جديد حيث ستكتب الكود الخاص بك. قم أيضًا بتنزيل هذا الملف الذي يحتوي على كلمات المرور الأكثر شيوعًا (سنبحث في ذلك لاحقًا) واحفظ الملف في نفس الدليل مثل ملف بايثون الخاص بك لهذا المشروع.

استيراد المكتبات اللازمة

import string

توفر وحدة السلسلة ثوابت مفيدة للتحقق من أنواع الأحرف مثل الأحرف الكبيرة والأرقام والأحرف الخاصة.

التحقق من وجود كلمات المرور الشائعة

def check_common_password(password):
    with open('common-password.txt', 'r') as f:
        common = f.read().splitlines()
    if password in common:
        return True
    return False

تقوم هذه الوظيفة بالتحقق مما إذا كانت كلمة المرور المحددة موجودة في قائمة كلمات المرور الشائعة.

  • يفتح ملفًا يسمى "common-password.txt" والذي قمنا بتنزيله مسبقًا.
  • يقرأ جميع كلمات المرور من هذا الملف في القائمة.
  • إذا كانت كلمة المرور المدخلة في هذه القائمة، فسترجع صحيحًا (مما يعني أنها كلمة مرور شائعة، وبالتالي ضعيفة).
  • وإلا فإنها ترجع خطأ.

لماذا يعتبر هذا الأمر مهمًا؟ يبدأ العديد من المتسللين بتجربة كلمات المرور الشائعة، لذا فإن استخدام واحدة يجعل حسابك عرضة للخطر للغاية.

تقييم قوة كلمة المرور

def password_strength(password):
    score = 0
    length = len(password)

    upper_case = any(c.isupper() for c in password)
    lower_case = any(c.islower() for c in password)
    special = any(c in string.punctuation for c in password)
    digits = any(c.isdigit() for c in password)

    characters = [upper_case, lower_case, special, digits]

    if length > 8:
        score  = 1
    if length > 12:
        score  = 1
    if length > 17:
        score  = 1
    if length > 20:
        score  = 1

    score  = sum(characters) - 1

    if score 



تقوم هذه الوظيفة بتقييم قوة كلمة المرور بناءً على عدة معايير.

  • تحصل كلمة المرور على نقاط إذا كانت أطول من 8 و12 و17 و20 حرفًا.
  • يقوم بالتحقق من وجود الأحرف الكبيرة والأحرف الصغيرة والأحرف الخاصة والأرقام.

كيف يتم تسجيل النقاط؟

  1. يبدأ بنتيجة 0.
  2. تضيف نقطة واحدة لكل حد طول تم تجاوزه.
  3. تضيف نقطة واحدة لكل نوع من الأحرف المستخدمة (أحرف كبيرة، صغيرة، خاصة، أرقام)، ناقص 1.
  4. استنادًا إلى النتيجة النهائية، يتم تصنيف كلمة المرور على أنها "ضعيفة" أو "حسنًا" أو "جيدة" أو "قوية".

تقديم التغذية الراجعة للمستخدم

def feedback(password):
    if check_common_password(password):
        return "Password was found in a common list. Score: 0/7"

    strength, score = password_strength(password)

    feedback = f"Password strength: {strength} (Score: {score}/7)\n"

    if score 



تجمع هذه الوظيفة بين الوظيفتين السابقتين لتقديم تعليقات شاملة.

  • يتحقق أولاً مما إذا كانت كلمة المرور شائعة. إذا كان الأمر كذلك، فإنه يُرجع تحذيرًا على الفور.
  • إذا كانت كلمة المرور غير شائعة، يتم تقييم قوتها.
  • يوفر تصنيف القوة والنتيجة.
  • إذا كانت كلمة المرور ضعيفة (النتيجة

البرنامج الرئيسي

password = input("Enter the password: ")
print(feedback(password))

يطلب هذا الجزء الأخير من المستخدم ببساطة إدخال كلمة المرور ثم طباعة التعليقات.

البرنامج قيد التنفيذ

Building a Password Strength Checker in Python

خاتمة

يعد إنشاء كلمات مرور قوية جزءًا حيويًا من الحفاظ على الأمان عبر الإنترنت، وباستخدام هذه الأداة، يمكنك بسهولة تقييم مدى أمان كلمات المرور الخاصة بك. يوضح هذا البرنامج البسيط كيف يمكن دمج برمجة بايثون الأساسية مع مبادئ الأمن السيبراني لحل مشكلة حقيقية.

لا تتردد في تجربة الكود وإضافة المزيد من الميزات.

سعيد بالبرمجة، وحافظ على أمانك!

بيان الافراج تم نشر هذه المقالة على: https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3