Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Podatki so bistvena dobrina v današnjem digitalnem svetu. Več kot osem milijonov ljudi vsako leto postane žrtev hekerjev in vsak dan se zgodi več kot 2200 kibernetskih napadov. S tako zaskrbljujočo stopnjo kibernetske kriminalitete postane prednostna naloga uporaba najboljših praks za zaščito pred hekerji. Eden najpomembnejših vidikov vsakega računa je njegovo geslo.

Če heker razkrije vaše geslo, lahko v nekaj minutah dobi dostop do vaših osebnih podatkov in celo vašega bančnega računa. Čeprav se to sliši strašljivo, se lahko naučite, kako zaščititi svoja gesla z uporabo najboljših praks, tako da zgradite svoj program Python, da preverite njegovo moč.

Različna pravila za nastavitev močnih gesel

Nekatera pravila za močna gesla, ki bi jih lahko razmislili o implementaciji, so:

  1. Geslo mora biti dolgo vsaj 12 znakov. Daljše kot je geslo, manjša je možnost, da bi ga napad s surovo silo ogrozil.
  2. instagram viewer
  3. Geslo naj vsebuje kombinacijo malih in velikih črk, številk in posebnih znakov.
  4. Izogibajte se ponavljanju znakov v geslu.
  5. Ne sme vsebovati osebnih podatkov, kot so imena, telefonske številke ali kar koli, kar lahko nekdo zlahka ugane.
  6. Ne bi smela biti običajna beseda iz slovarja, čeprav lahko uporabite besede v daljših besednih zvezah.
  7. Geslo ne sme biti enako za več računov. Ti lahko nastavite upravitelja gesel za samodejno izpolnjevanje različnih gesel za različna spletna mesta, ne da bi si zapomnili vsakega od njih.

Obstajajo različni načini za ustvarite nezlomljivo geslo, ki si ga lahko zapomnite. Nekateri od njih uporabljajo otroške pesmice, citate iz filmov, industrijski žargon in drugo.

Kako preveriti moč vašega gesla z uporabo Pythona

S preverjanjem zgornjih značilnosti lahko sestavite program za testiranje moči gesla. Za to zgradbo boste potrebovali dva modula: vrvica in zbirke.

Uporabite lahko tudi getpass modul za skrivanje gesla, ko ga uporabnik vnese. To pomaga zaščititi vaše geslo, ko ga morate javno vnesti. Če želite namestiti getpass v lokalno okolje, odprite terminal in vnesite:

pip namestite getpass4

Z razredom String lahko preverite, ali je znak črka, številka ali simbol. Z zbirkami lahko preverite, ali se v geslu ponavljajo znaki.

Uporabite ključno besedo def, da definirate imenovano funkcijo check_password_strength() in ji posredujte geslo, ki ga boste pridobili kot parameter.

Inicializirajte šest spremenljivk: nižje_število_alfa, upper_alpha_count, število_štetje, special_char_count, dolžina, običajni na nič. Ti bodo preverili prisotnost malih črk abecede, velikih črk, števk, posebnih znakov, dolžine, ponavljanja znakov v geslu.

Geslo, ki ga dobite od uporabnika, posredujte seznam() funkcijo za pretvorbo v seznam znakov. Z uporabo zanke for ponovite vsak znak na seznamu. Uporabite stavek if-else, da preverite, ali je znak mala črka, velika črka, številka ali poseben znak, in ustrezno posodobite število.

Predvidevate lahko, da je karkoli drugega iz abecede ali številke poseben znak. Za večjo omejitev lahko posebne znake shranite kot niz in preverite, ali je v njem prisoten znak gesla. Poleg tega nekatera spletna mesta dovoljujejo uporabo presledkov v geslu. Lahko nastavite drugo spremenljivko in jo povečate ali pa jo upoštevate pri samem štetju posebnih znakov.

uvoz vrvica
uvoz zbirke

defpreverite_moč_gesla(geslo):
lower_alpha_count = upper_alpha_count = število_števil = special_char_count = dolžina = skupno = 0

za char in seznam(geslo):
čechar v string.ascii_lowercase:
nižje_alfa_štetje += 1
elif char v string.ascii_uppercase:
zgornje_alfa_štetje += 1
elif char v string.digits:
število_štetje += 1
drugače:
special_char_count += 1

Potrebovali boste seznam gesel ali bazo podatkov, da preverite, ali je uporabniško geslo običajno. Seznam enega milijona najbolj priljubljenih gesel lahko prenesete iz Repozitorij skupnih poverilnic SecLists GitHub.

Shranite besedilno datoteko kot common_password_list.txt. Uporabite stavek with, da izvedete obravnavo izjem in odprete datoteko z geslom v načinu za branje. Uporabi preberi() funkcijo za pridobivanje vsebine v datoteki in shranjevanje v spremenljivko z imenom content.

Če geslo, ki ga vnese uporabnik, ni na seznamu skupnih gesel, povečajte vrednost skupne spremenljivke za eno.

zodprto("common_password_list.txt", 'r') kotmapa:
vsebina = file.read()

če geslo ni v vsebini:
skupno += 1

Če želite preveriti dolžino gesla, ga preprosto posredujte v len() funkcijo in preverite, ali je večja ali enaka dvanajst. Če je tako, povečajte vrednost spremenljivke dolžine.

čelen(geslo) >= 12:
dolžina += 1

Če želite preveriti, ali se znaki v geslu ponavljajo, uporabite podrazred Counter iz zbirk. Števec je neurejena zbirka parov ključev in vrednosti, kjer je ključ sam element, vrednost pa število elementov.

Uporabite metodo razumevanja seznama, da naredite seznam ponovljenih znakov iz slovarja, ki ga dobite z zbirkami. Preglejte slovar in preverite, ali je število znakov večje od ena. Če je število večje, ga dodajte na seznam in shranite v ponavljajoče se.

 countOfWords = zbirke. števec (geslo)
ponovljeno = [i za i v countOfWords, če je countOfWords[i] > 1]

Zdaj, ko imate vrednosti posameznih značilnosti, inicializirajte spremenljivko z imenom moč na nič. Kot že ime pove, boste to spremenljivko uporabili za preverjanje moči gesla. Sistem točkovanja je od sedmih, ena točka za vsako vključitev znaka in značilnosti močnega gesla.

Preverite, ali je število malih črk abecede, velikih črk, številk in posebnih znakov večje ali enako ena in povečajte moč za eno za vsako prisotnost. Podobno preverite, ali sta dolžina in skupna spremenljivka enaki ena in ali je dolžina ponovljenega znaka enaka nič. Če je res, poveča vrednost spremenljivke moči.

 moč = 0

če nižje_alfa_štetje >= 1:
moč += 1

če je upper_alpha_count >= 1:
moč += 1

če število_štetje >= 1:
moč += 1

če je special_char_count >= 1:
moč += 1

če je dolžina == 1:
moč += 1

če je skupno == 1:
moč += 1

čelen(ponavlja se)== 0:
moč += 1

Uporabite večvrstični niz (trije narekovaji) za prikaz več vrstic besedila v enem stavku za tiskanje. Uporabite dobesedno interpolacijo nizov ali f-nize ali za prikaz števila karakteristik. To lahko dosežete s pisanjem f na začetku niza v stavku za tiskanje in spremenljivke zapičite v zavite oklepaje. Interpolacijo niza uporabljate, saj je vsebina znotraj stavka za tiskanje niz, vrednost spremenljivk pa je celo število.

tiskanje(f"""Vaše geslo ima:- 
{lower_alpha_count} malih črk
{upper_alpha_count} velikih črk
{number_count} števk
{special_char_count} posebnih znakov
{length} dolžina
{common} skupno
{repeated} ponovljeno
"Rezultat gesla: {strength}/7""")

Na koncu uporabite vnosni stavek, da od uporabnika prejmete geslo in ga posredujete preverite_moč_gesla funkcijo. Glede na moč gesla bo program prikazal rezultat skupaj s številom značilnosti, ki so prisotne v geslu.

geslo = vnos("Vnesite geslo:")
check_password_strength (geslo)

Izhod orodja za preverjanje moči gesla

Ob vnosu močnega gesla, ki temelji na omenjenih značilnostih, program Python prikaže moč kot 7/7:

Ob vnosu šibkega in pogostega gesla program Python prikaže moč kot 1/7:

Gesla in varnost

Čeprav lahko nastavite najmočnejše geslo doslej, obstajajo tudi drugi načini, kako lahko heker vdre v vaš sistem. 95 % kibernetskih napadov je posledica človeške napake. Ena najpogostejših metod, ki jih uporabljajo hekerji, je socialni inženiring. Heker vam lahko pošlje ponarejene povezave do družbenih medijev ali spletnih mest za e-trgovino, ki so videti zakonite, vendar ogrozijo vaše geslo, če jih uporabite.

Za zaščito pred temi tehnikami poskrbite, da odprete samo povezave iz zaupanja vrednega vira in varno vnesete ali shranite samo pomembne informacije.