Datele sunt un activ vital în lumea digitală de astăzi. Peste opt milioane de oameni cad victimele hackerilor în fiecare an și au loc peste 2200 de atacuri cibernetice în fiecare zi. Cu o rată atât de alarmantă a criminalității cibernetice, devine o prioritate folosirea celor mai bune practici pentru a proteja împotriva hackerilor. Unul dintre cele mai importante aspecte ale oricărui cont este parola acestuia.
Dacă un hacker îți compromite parola, poate avea acces la informațiile tale personale și chiar la contul tău bancar în câteva minute. Deși acest lucru sună înfricoșător, puteți învăța cum să vă securizați parolele folosind cele mai bune practici, construind propriul program Python pentru a-i verifica puterea.
Diferite reguli pentru stabilirea parolelor puternice
Câteva reguli puternice de parole pe care ați putea lua în considerare implementarea sunt:
- Parola trebuie să aibă cel puțin 12 caractere. Cu cât parola este mai lungă, cu atât există mai puține șanse ca un atac cu forță brută să o compromită.
- Parola ar trebui să conțină o combinație de litere mici, litere mari, cifre și caractere speciale.
- Evitați repetarea caracterelor din parolă.
- Nu ar trebui să conțină detalii personale, cum ar fi nume, numere de telefon sau orice altceva pe care cineva le poate ghici cu ușurință.
- Nu ar trebui să fie un cuvânt obișnuit din dicționar, deși puteți folosi cuvinte în fraze de parolă mai lungi.
- Parola nu ar trebui să fie aceeași pentru mai multe conturi. Puteți configurați un manager de parole pentru a completa automat diferite parole pentru diverse site-uri fără a vă aminti fiecare dintre ele.
Există diferite moduri de a creați o parolă indestructibilă pe care să o puteți aminti. Unii dintre ei folosesc versuri de copii, citate din filme, jargon din industrie și multe altele.
Cum să vă verificați puterea parolei folosind Python
Puteți crea un program pentru a testa puterea parolei verificând caracteristicile de mai sus. Pentru această versiune, veți avea nevoie de două module: şir și colecții.
De asemenea, puteți utiliza getpass modul pentru a ascunde o parolă pe măsură ce utilizatorul o introduce. Acest lucru vă ajută să vă protejați parola atunci când trebuie să o introduceți în public. Pentru a instala getpass în mediul local, deschideți un terminal și tastați:
pip instalare getpass4
Puteți utiliza clasa String pentru a verifica dacă un caracter este o literă, o cifră sau un simbol. Puteți utiliza colecțiile pentru a verifica dacă există caractere în parolă care se repetă.
Utilizați cuvântul cheie def pentru a defini o funcție numită check_password_strength() și transmiteți-i parola pe care o veți obține ca parametru.
Inițializați șase variabile: număr_alfa_inferior, upper_alpha_count, număr_număr, special_char_count, lungime, uzual la zero. Acestea vor verifica prezența unui alfabet cu litere mici, alfabet cu majuscule, cifre, caractere speciale, lungimea, repetarea caracterelor într-o parolă.
Transmiteți parola pe care o obțineți de la utilizator către listă() pentru a-l converti într-o listă de caractere. Folosind bucla for, repetați peste fiecare caracter al listei. Utilizați instrucțiunea if-else pentru a verifica dacă caracterul este un alfabet cu litere mici, alfabet cu majuscule, un număr sau un caracter special și actualizați numărul respectiv.
Puteți presupune că orice altceva din alfabet sau număr este un caracter special. Pentru mai multe restricții, puteți stoca caractere speciale ca șir și puteți verifica dacă caracterul parolei este prezent în el. În plus, unele site-uri web vă permit să utilizați spații albe într-o parolă. Puteți seta o variabilă diferită și o puteți incrementa sau o considerați în numărul de caractere speciale în sine.
import şir
import colecțiidefverificați puterea_parolei(parola):
lower_alpha_count = upper_alpha_count = number_count = special_char_count = lungime = comun = 0
pentru char in listă(parola):
dacăchar în string.ascii_minuscule:
număr_alfa_inferior += 1
elif char în string.ascii_uppercase:
upper_alpha_count += 1
elif char în șir.cifre:
număr_număr += 1
altfel:
special_char_count += 1
Veți avea nevoie de o listă de parole sau de o bază de date pentru a verifica dacă parola utilizatorului este comună. Puteți descărca o listă cu un milion de parole cele mai populare de pe Depozitul GitHub de acreditări comune al SecLists.
Salvați fișierul text ca common_parole_list.txt. Utilizați instrucțiunea with pentru a efectua gestionarea excepțiilor și deschideți fișierul cu parole în modul de citire. Folosește citit() funcția de a obține conținutul prezent în fișier și de a-l stoca într-o variabilă numită conținut.
Dacă parola pe care o introduce utilizatorul nu este prezentă în lista de parole comune, măriți valoarea variabilei comune cu una.
cudeschis(„common_password_list.txt”, 'r') la fel defişier:
continut = fisier.read()
dacă parola nu este în conținut:
comun += 1
Pentru a verifica lungimea parolei, pur și simplu transmiteți-o la len() funcția și verificați dacă este mai mare sau egală cu doisprezece. Dacă da, incrementați valoarea variabilei lungime.
dacălen(parola) >= 12:
lungime += 1
Pentru a verifica repetarea caracterelor în parolă, utilizați subclasa Counter din Colecții. Counter este o colecție neordonată de perechi cheie și valoare în care cheia este elementul în sine și valoarea este numărul elementului.
Utilizați metoda de înțelegere a listelor pentru a face o listă de caractere repetate din dicționarul pe care îl obțineți folosind colecțiile. Repetați dicționarul și verificați dacă numărul caracterului este mai mare de unu. Dacă numărul este mai mare, adăugați-l la o listă și stocați-l în mod repetat.
countOfWords = colecții. Counter (parolă)
repetat = [i pentru i în countOfWords dacă countOfWords[i] > 1]
Acum că aveți valorile caracteristicilor individuale, inițializați o variabilă numită putere la zero. După cum sugerează și numele, veți vedea această variabilă pentru a verifica puterea parolei. Sistemul de notare este din șapte, un punct pentru fiecare includere a unui caracter și caracteristică a unei parole puternice.
Verificați dacă numărul de litere mici, alfabetul majuscule, numere, caractere speciale este mai mare sau egal cu unu și creșteți puterea cu unul pentru fiecare prezență. În mod similar, verificați dacă lungimea și variabila comună sunt egale cu unu și dacă lungimea caracterului repetat este egală cu zero. Dacă este adevărat, creșteți valoarea variabilei de rezistență.
putere = 0
dacă număr_alfa inferior >= 1:
puterea += 1dacă upper_alpha_count >= 1:
puterea += 1dacă număr_număr >= 1:
puterea += 1dacă special_char_count >= 1:
puterea += 1dacă lungimea == 1:
puterea += 1dacă comun == 1:
puterea += 1
dacălen(repetat)== 0:
puterea += 1
Utilizați șirul cu mai multe linii (trei ghilimele) pentru a afișa mai multe rânduri de text într-o singură instrucțiune de tipărire. Utilizați interpolarea Sring literală sau șirurile f sau pentru a afișa numărul de caracteristici. Puteți obține acest lucru scriind f la începutul șirului în instrucțiunea print și includeți variabilele între paranteze. Utilizați interpolarea șirurilor deoarece conținutul din instrucțiunea print este un șir, dar valoarea variabilelor este un număr întreg.
imprimare(f""„Parola ta are:-
{lower_alpha_count} litere mici
{upper_alpha_count} litere mari
{number_count} cifre
{special_char_count} caractere speciale
{lungime} lungime
{comun} comun
{repeated} repetat
„Scorul parolei: {strongth}/7”"")
În cele din urmă, utilizați instrucțiunea de intrare pentru a primi parola de la utilizator și transmiteți-o către verificați puterea_parolei funcţie. Pe baza puterii parolei, programul va afișa scorul împreună cu numărul caracteristicilor prezente în parolă.
parola = input("Introduceți parola: ")
check_password_strength (parolă)
Ieșirea Verificatorului de putere a parolei
La introducerea unei parole puternice pe baza caracteristicilor menționate, programul Python afișează puterea ca 7/7:
La introducerea unei parole slabe și comune, programul Python afișează puterea ca 1/7:
Parole și securitate
Deși puteți seta cea mai puternică parolă vreodată, există și alte moduri în care un hacker poate pătrunde în sistemul dvs. 95% dintre atacurile cibernetice sunt rezultatul unei erori umane. Una dintre cele mai frecvente metode pe care le folosesc hackerii este ingineria socială. Hackerul vă poate trimite linkuri contrafăcute către rețelele sociale sau site-uri de comerț electronic care par legitime, dar vă compromit parola dacă le utilizați.
Pentru a vă proteja împotriva acestor tehnici, asigurați-vă că deschideți numai link-uri dintr-o sursă de încredere și introduceți sau stocați numai informații importante în siguranță.