Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Veri, günümüzün dijital dünyasında hayati bir varlıktır. Her yıl sekiz milyondan fazla insan bilgisayar korsanlarının kurbanı oluyor ve her gün 2200'den fazla siber saldırı gerçekleşiyor. Böylesine endişe verici bir siber suç oranıyla, bilgisayar korsanlarına karşı korunmak için en iyi uygulamaları kullanmak bir öncelik haline geliyor. Herhangi bir hesabın en önemli yönlerinden biri şifresidir.

Bir bilgisayar korsanı parolanızı ele geçirirse, birkaç dakika içinde kişisel bilgilerinize ve hatta banka hesabınıza erişebilir. Bu kulağa korkutucu gelse de, gücünü kontrol etmek için kendi Python programınızı oluşturarak en iyi uygulamaları kullanarak parolalarınızı nasıl güvence altına alacağınızı öğrenebilirsiniz.

Güçlü Parolalar Belirlemek İçin Farklı Kurallar

Uygulamayı düşünebileceğiniz bazı güçlü parola kuralları şunlardır:

instagram viewer
  1. Parola en az 12 karakter uzunluğunda olmalıdır. Parola ne kadar uzun olursa, onu tehlikeye atan bir kaba kuvvet saldırısı şansı o kadar az olur.
  2. Parola, küçük harfler, büyük harfler, sayılar ve özel karakterlerden oluşan bir kombinasyon içermelidir.
  3. Parolada karakterleri tekrarlamaktan kaçının.
  4. İsimler, telefon numaraları veya birisinin kolayca tahmin edebileceği herhangi bir kişisel ayrıntı içermemelidir.
  5. Sözcükleri daha uzun parola öbeklerinde kullanabilmenize rağmen, yaygın bir sözlük sözcüğü olmamalıdır.
  6. Parola birden fazla hesap için aynı olmamalıdır. Yapabilirsiniz bir şifre yöneticisi kurun çeşitli siteler için farklı şifreleri her birini hatırlamadan otomatik olarak doldurmak.

farklı yollar var hatırlayabileceğiniz kırılmaz bir şifre oluşturun. Bazıları tekerlemeler, filmlerden alıntılar, endüstri dili ve daha fazlasını kullanıyor.

Python Kullanarak Parolanızın Gücünü Nasıl Kontrol Edebilirsiniz?

Yukarıdaki özellikleri kontrol ederek şifre gücünü test etmek için bir program oluşturabilirsiniz. Bu derleme için iki modüle ihtiyacınız olacak: sicim Ve koleksiyonlar.

Şunu da kullanabilirsiniz: geçmek kullanıcı girerken bir parolayı gizlemek için modül. Bu, herkese açık olarak yazmanız gerektiğinde parolanızı korumaya yardımcı olur. getpass'ı yerel ortamınıza kurmak için bir terminal açın ve şunu yazın:

bip düzenlemek geçiş4

Bir karakterin harf mi, rakam mı yoksa sembol mü olduğunu kontrol etmek için String sınıfını kullanabilirsiniz. Parolada tekrar eden karakterler olup olmadığını kontrol etmek için koleksiyonlardan yararlanabilirsiniz.

adlı bir işlevi tanımlamak için def anahtar sözcüğünü kullanın. check_password_strength() ve elde edeceğiniz şifreyi parametre olarak ona iletin.

Altı değişkeni başlat: lower_alpha_count, Upper_alpha_count, sayı_sayısı, özel_char_count, uzunluk, yaygın sıfıra Bunlar bir şifrede küçük harf, büyük harf, rakam, özel karakter, uzunluk, karakter tekrarı olup olmadığını kontrol eder.

Kullanıcıdan aldığınız şifreyi sisteme iletin. liste() bir karakter listesine dönüştürmek için işlev. For döngüsünü kullanarak listenin her karakterini yineleyin. Karakterin küçük harf, büyük harf, sayı veya özel bir karakter olup olmadığını kontrol etmek için if-else deyimini kullanın ve sırasıyla sayımı güncelleyin.

Alfabe veya sayıdan başka herhangi bir şeyin özel bir karakter olduğunu varsayabilirsiniz. Daha fazla kısıtlama için, özel karakterleri bir dizi olarak saklayabilir ve şifrenin karakterinin içinde olup olmadığını kontrol edebilirsiniz. Ek olarak, bazı web siteleri bir parolada boşluk kullanmanıza izin verir. Farklı bir değişken belirleyip onu arttırabilir veya özel karakter sayımında düşünebilirsiniz.

içe aktarmak sicim
içe aktarmak koleksiyonlar

kesincheck_password_strength(şifre):
lower_alpha_count = Upper_alpha_count = number_count = special_char_count = uzunluk = ortak = 0

için karakter liste(şifre):
eğerkarakter string.ascii_lowercase'de:
lower_alpha_count += 1
elif karakter string.ascii_uppercase içinde:
Upper_alpha_count += 1
elif karakter string.digits'te:
sayı_sayısı += 1
başka:
özel_char_count += 1

Kullanıcının parolasının ortak olup olmadığını kontrol etmek için bir parola listesine veya veri tabanına ihtiyacınız olacaktır. En popüler bir milyon şifrenin listesini şu adresten indirebilirsiniz: SecLists'in Ortak Kimlik Bilgisi GitHub deposu.

Metin dosyasını farklı kaydet common_password_list.txt. İstisna işleme gerçekleştirmek ve parola dosyasını okuma modunda açmak için with deyimini kullanın. Kullan Okumak() dosyada bulunan içeriği almak ve içerik adlı bir değişkende saklamak için işlev.

Kullanıcının girdiği parola ortak parola listesinde yoksa, ortak değişkenin değerini bir artırın.

ileaçık("common_password_list.txt", 'R') gibidosya:
içerik = dosya.read()

şifre içerikte yoksa:
ortak += 1

Parolanın uzunluğunu kontrol etmek için parolayı len() on ikiden büyük veya ona eşit olup olmadığını kontrol edin. Öyleyse, uzunluk değişkeninin değerini artırın.

eğerlen(şifre) >= 12:
uzunluk += 1

Paroladaki karakterlerin tekrarını denetlemek için Koleksiyonlardan Sayaç alt sınıfını kullanın. Sayaç, anahtarın öğenin kendisi ve değerin öğenin sayısı olduğu, sıralanmamış bir anahtar ve değer çiftleri koleksiyonudur.

Koleksiyonları kullanarak aldığınız sözlükten yinelenen karakterlerin bir listesini yapmak için liste kavrama yöntemini kullanın. Sözlüğü tekrar edin ve karakter sayısının birden fazla olup olmadığını kontrol edin. Sayı daha büyükse, onu bir listeye ekleyin ve tekrarlanan olarak saklayın.

 countOfWords = koleksiyonlar. Sayaç (şifre)
tekrarlanan = [countOfWords'da i için i, eğer countOfWords[i] > 1 ise]

Artık bireysel özelliklerin değerlerine sahip olduğunuza göre, dayanıklılık adlı bir değişkeni sıfıra sıfırlayın. Adından da anlaşılacağı gibi, parolanın gücünü kontrol etmek için bu değişkeni kullanacaksınız. Puanlama sistemi, güçlü bir parolanın her karakteri ve özelliği için bir puan olmak üzere yedi üzerindendir.

Küçük harf, büyük harf, sayı, özel karakter sayısının birden büyük veya ona eşit olup olmadığını kontrol edin ve her varlık için gücü bir artırın. Benzer şekilde, uzunluğun ve ortak değişkenin bire eşit olup olmadığını ve tekrarlanan karakterin uzunluğunun sıfıra eşit olup olmadığını kontrol edin. Doğruysa, güç değişkeninin değerini artırın.

 güç = 0

eğer lower_alpha_count >= 1 ise:
güç += 1

eğer Upper_alpha_count >= 1 ise:
güç += 1

sayı_sayısı >= 1 ise:
güç += 1

eğer special_char_count >= 1 ise:
güç += 1

uzunluk == 1 ise:
güç += 1

ortak ise == 1:
güç += 1

eğerlen(tekrarlanan)== 0:
güç += 1

Tek bir print deyiminde birden çok metin satırı görüntülemek için çok satırlı dizeyi (üç tırnak) kullanın. Karakteristik sayısını görüntülemek için değişmez Sring Interpolation veya f-strings kullanın. Bunu yazarak başarabilirsin F print deyiminde dizenin başında ve değişkenleri süslü parantez içine alın. print ifadesinin içindeki içerik bir dize olduğundan, ancak değişkenlerin değeri bir tam sayı olduğundan, dize enterpolasyonunu kullanırsınız.

Yazdır(F"""Şifreniz: - 
{lower_alpha_count} küçük harf
{upper_alpha_count} büyük harf
{number_count} basamak
{special_char_count} özel karakter
{uzunluk} uzunluk
{yaygın} yaygın
{tekrarlanan} tekrarlanan
"Parola puanı: {güç}/7""")

Son olarak, kullanıcıdan şifreyi almak için giriş deyimini kullanın ve kullanıcısına iletin. check_password_strength işlev. Program, parolanın gücüne bağlı olarak, parolada bulunan özelliklerin sayısıyla birlikte puanı da gösterecektir.

şifre = giriş("Şifreyi gir: ")
check_password_strength (şifre)

Parola Gücü Denetleyicisinin Çıktısı

Belirtilen özelliklere dayalı olarak güçlü bir parola girildiğinde, Python programı gücü 7/7 olarak görüntüler:

Zayıf ve yaygın bir parola girildiğinde, Python programı gücü 1/7 olarak görüntüler:

Parolalar ve Güvenlik

Şimdiye kadarki en güçlü parolayı belirleyebilirsiniz, ancak bir bilgisayar korsanının sisteminize girmesi için başka yollar da vardır. Siber saldırıların %95'i insan hatasının sonucudur. Bilgisayar korsanlarının kullandığı en yaygın yöntemlerden biri sosyal mühendisliktir. Bilgisayar korsanı, yasal görünen ancak bunları kullanırsanız parolanızı tehlikeye atan sahte sosyal medya veya e-ticaret web sitelerine bağlantılar gönderebilir.

Bu tekniklere karşı korunmak için, yalnızca güvenilir bir kaynaktan gelen bağlantıları açtığınızdan ve yalnızca önemli bilgileri güvenli bir şekilde girdiğinizden veya sakladığınızdan emin olun.