تعتبر البيانات من الأصول الحيوية في عالم اليوم الرقمي. يقع أكثر من ثمانية ملايين شخص ضحية للقراصنة كل عام وأكثر من 2200 هجوم إلكتروني يحدث كل يوم. مع هذا المعدل المثير للقلق من الجرائم الإلكترونية ، يصبح استخدام أفضل الممارسات للحماية من المتسللين أولوية. من أهم جوانب أي حساب كلمة المرور الخاصة به.
إذا قام أحد المتطفلين باختراق كلمة مرورك ، فيمكنه الوصول إلى معلوماتك الشخصية ، وحتى حسابك المصرفي ، في غضون دقائق. على الرغم من أن هذا يبدو مخيفًا ، إلا أنه يمكنك تعلم كيفية تأمين كلمات المرور الخاصة بك باستخدام أفضل الممارسات من خلال إنشاء برنامج Python الخاص بك للتحقق من قوته.
قواعد مختلفة لإعداد كلمات مرور قوية
بعض قواعد كلمة المرور القوية التي قد تفكر في تنفيذها هي:
- يجب أن تتكون كلمة المرور من 12 حرفًا على الأقل. كلما طالت كلمة المرور ، قل احتمال تعرضها لهجوم عنيف.
- يجب أن تحتوي كلمة المرور على مجموعة من الأحرف الصغيرة والأحرف الكبيرة والأرقام والأحرف الخاصة.
- تجنب تكرار الأحرف في كلمة المرور.
- يجب ألا يحتوي على تفاصيل شخصية مثل الأسماء أو أرقام الهواتف أو أي شيء يمكن لأي شخص تخمينه بسهولة.
- لا ينبغي أن تكون كلمة قاموس شائعة ، على الرغم من أنه يمكنك استخدام كلمات في عبارات كلمات مرور أطول.
- يجب ألا تكون كلمة المرور هي نفسها للحسابات المتعددة. أنت تستطيع قم بإعداد مدير كلمات المرور الملء التلقائي لكلمات مرور مختلفة لمواقع مختلفة دون تذكر كل منها.
هناك طرق مختلفة ل إنشاء كلمة مرور غير قابلة للكسر يمكنك تذكرها. يستخدم البعض منهم أغاني الأطفال ، والاقتباسات من الأفلام ، ولغة الصناعة ، والمزيد.
كيفية التحقق من قوة كلمة المرور الخاصة بك باستخدام Python
يمكنك إنشاء برنامج لاختبار قوة كلمة المرور من خلال التحقق من الخصائص المذكورة أعلاه. لهذا الإصدار ، ستحتاج إلى وحدتين: خيط و المجموعات.
يمكنك أيضًا استخدام ملف getpass وحدة لإخفاء كلمة المرور عندما يقوم المستخدم بإدخالها. يساعد هذا في حماية كلمة المرور الخاصة بك عندما يتعين عليك كتابتها على الملأ. لتثبيت getpass في بيئتك المحلية ، افتح Terminal واكتب:
نقطة ثَبَّتَ getpass4
يمكنك استخدام فئة String للتحقق مما إذا كان الحرف حرفًا أو رقمًا أو رمزًا. يمكنك الاستفادة من المجموعات للتحقق مما إذا كانت هناك أحرف متكررة في كلمة المرور.
استخدم الكلمة الأساسية def لتحديد وظيفة مسماة check_password_st Strength () وتمرير كلمة المرور التي ستحصل عليها كمعامل لها.
تهيئة ستة متغيرات: low_alpha_count, حساب_الألفا_العليا, number_count, special_char_count ، الطول, شائع إلى الصفر. ستتحقق هذه من وجود أحرف أبجدية صغيرة ، وأبجدية كبيرة ، وأرقام ، وأحرف خاصة ، وطول ، وتكرار الأحرف في كلمة المرور.
قم بتمرير كلمة المرور التي تحصل عليها من المستخدم إلى قائمة() وظيفة لتحويله إلى قائمة من الشخصيات. باستخدام حلقة for ، كرر كل حرف في القائمة. استخدم عبارة if-else للتحقق مما إذا كان الحرف أبجديًا صغيرًا أو أبجديًا كبيرًا أو رقمًا أو حرفًا خاصًا وقم بتحديث العدد على التوالي.
يمكنك أن تفترض أن أي شيء آخر من الأبجدية ، أو الرقم هو حرف خاص. لمزيد من التقييد ، يمكنك تخزين الأحرف الخاصة كسلسلة والتحقق من وجود حرف كلمة المرور فيها. بالإضافة إلى ذلك ، تسمح لك بعض مواقع الويب باستخدام المسافات البيضاء في كلمة المرور. يمكنك تعيين متغير مختلف وزيادته أو اعتباره في عدد الأحرف الخاص نفسه.
يستورد خيط
يستورد المجموعاتdefcheck_password_st Strength(كلمة المرور):
Lower_alpha_count = upper_alpha_count = number_count = special_char_count = الطول = مشترك = 0
ل شار في قائمة(كلمة المرور):
لوشار في السلسلة.
low_alpha_count + = 1
أليف شار في السلسلة .ascii_uppercase:
top_alpha_count + = 1
أليف شار في سلسلة. أرقام:
number_count + = 1
آخر:
special_char_count + = 1
ستحتاج إلى قائمة كلمات المرور أو قاعدة بيانات للتحقق مما إذا كانت كلمة مرور المستخدم شائعة. يمكنك تنزيل قائمة تضم مليون كلمة مرور شائعة من مستودع GitHub للاعتمادات المشتركة SecLists.
احفظ الملف النصي باسم Common_password_list.txt. استخدم العبارة with لإجراء معالجة الاستثناءات وفتح ملف كلمة المرور في وضع القراءة. استخدم ال يقرأ() وظيفة للحصول على المحتوى الموجود في الملف وتخزينه في متغير اسمه content.
إذا كانت كلمة المرور التي يدخلها المستخدم غير موجودة في قائمة كلمات المرور الشائعة ، فقم بزيادة قيمة المتغير المشترك بواحد.
معيفتح("Common_password_list.txt", 'r') مثلملف:
المحتوى = file.read ()
إذا لم تكن كلمة المرور في المحتوى:
مشترك + = 1
للتحقق من طول كلمة المرور ، ما عليك سوى تمريرها إلى ملف لين () الدالة وتحقق مما إذا كانت أكبر من أو تساوي اثني عشر. إذا كان الأمر كذلك ، قم بزيادة قيمة متغير الطول.
لولين(كلمة المرور) >= 12:
الطول + = 1
للتحقق من تكرار الأحرف في كلمة المرور ، استخدم الفئة الفرعية للعداد من المجموعات. العداد عبارة عن مجموعة غير مرتبة من أزواج المفتاح والقيمة حيث يكون المفتاح هو العنصر نفسه والقيمة هي عدد العناصر.
استخدم طريقة قائمة الفهم لعمل قائمة بالأحرف المتكررة من القاموس الذي تحصل عليه باستخدام المجموعات. كرر القاموس وتحقق مما إذا كان عدد الحرف أكبر من واحد. إذا كان العدد أكبر ، فقم بإلحاقه بقائمة وقم بتخزينه بشكل متكرر.
countOfWords = مجموعات. عداد (كلمة المرور)
مكرر = [i for i in countOfWords if countOfWords [i]> 1]
الآن بعد أن أصبح لديك قيم الخصائص الفردية ، قم بتهيئة متغير يسمى القوة إلى الصفر. كما يوحي الاسم ، سوف ترى هذا المتغير للتحقق من قوة كلمة المرور. نظام التسجيل هو من أصل سبعة ، نقطة واحدة لكل إدراج لشخصية وخاصية كلمة مرور قوية.
تحقق مما إذا كان عدد الحروف الأبجدية الصغيرة ، والأحرف الكبيرة ، والأرقام ، والأحرف الخاصة أكبر من أو يساوي واحدًا وقم بزيادة القوة بمقدار واحد لكل حضور. وبالمثل ، تحقق مما إذا كان الطول والمتغير المشترك يساوي واحدًا وإذا كان طول الحرف المكرر يساوي صفرًا. إذا كان هذا صحيحًا ، قم بزيادة قيمة متغير القوة.
القوة = 0
إذا كان low_alpha_count> = 1:
القوة + = 1إذا كان upper_alpha_count> = 1:
القوة + = 1إذا كان number_count> = 1:
القوة + = 1إذا كان special_char_count> = 1:
القوة + = 1إذا كان الطول == 1:
القوة + = 1إذا كان مشتركًا == 1:
القوة + = 1
لولين(معاد)== 0:
القوة + = 1
استخدم السلسلة متعددة الأسطر (ثلاثة علامات اقتباس) لعرض أسطر متعددة من النص في بيان طباعة واحد. استخدم الاستيفاء الحرفي لـ Sring أو f-strings أو لعرض عدد الخصائص. يمكنك تحقيق ذلك عن طريق الكتابة F في بداية السلسلة في بيان الطباعة وقم بإحاطة المتغيرات بين قوسين معقوفين. يمكنك استخدام استيفاء السلسلة لأن المحتوى داخل جملة الطباعة عبارة عن سلسلة ، لكن قيمة المتغيرات هي عدد صحيح.
مطبعة(F"""كلمة مرورك تحتوي على: -
{low_alpha_count} أحرف صغيرة
{upper_alpha_count} أحرف كبيرة
{number_count} رقم
{special_char_count} من الأحرف الخاصة
{طول طول
{مشترك} شائع
{مكرر} مكرر
"درجة كلمة المرور: {Strength} / 7""")
أخيرًا ، استخدم بيان الإدخال لتلقي كلمة المرور من المستخدم وتمريرها إلى ملف check_password_st Strength وظيفة. بناءً على قوة كلمة المرور ، سيعرض البرنامج النتيجة جنبًا إلى جنب مع عدد الخصائص الموجودة في كلمة المرور.
كلمة المرور = الإدخال ("أدخل كلمة المرور: ")
check_password_st Strength (كلمة المرور)
إخراج مدقق قوة كلمة المرور
عند إدخال كلمة مرور قوية بناءً على الخصائص المذكورة ، يعرض برنامج Python القوة على النحو 7/7:
عند إدخال كلمة مرور ضعيفة وشائعة ، يعرض برنامج Python القوة على أنها 1/7:
كلمات المرور والأمان
بينما يمكنك تعيين أقوى كلمة مرور على الإطلاق ، هناك طرق أخرى يمكن للمتسلل من خلالها اختراق نظامك. 95٪ من الهجمات الإلكترونية ناتجة عن خطأ بشري. تعد الهندسة الاجتماعية من أكثر الطرق شيوعًا التي يستخدمها المتسللون. قد يرسل لك المتسلل روابط مزيفة إلى مواقع التواصل الاجتماعي أو مواقع التجارة الإلكترونية تبدو شرعية ، ولكنها تعرض كلمة مرورك للخطر إذا كنت تستخدمها.
للحماية من هذه الأساليب ، تأكد من فتح الروابط من مصدر موثوق فقط وإدخال المعلومات المهمة أو تخزينها بشكل آمن فقط.