Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Duomenys yra gyvybiškai svarbus turtas šiuolaikiniame skaitmeniniame pasaulyje. Kasmet daugiau nei aštuoni milijonai žmonių tampa įsilaužėlių aukomis, o kasdien įvyksta daugiau nei 2200 kibernetinių atakų. Esant tokiam nerimą keliančiam elektroninių nusikaltimų greičiui, pirmenybė teikiama geriausios praktikos pavyzdžiams apsisaugoti nuo įsilaužėlių. Vienas iš svarbiausių bet kurios paskyros aspektų yra slaptažodis.

Jei įsilaužėlis pažeidžia jūsų slaptažodį, jis per kelias minutes gali pasiekti jūsų asmeninę informaciją ir net banko sąskaitą. Nors tai skamba baisiai, galite sužinoti, kaip apsaugoti slaptažodžius naudodami geriausią praktiką, sukurdami savo Python programą, kad patikrintumėte jos stiprumą.

Skirtingos stiprių slaptažodžių nustatymo taisyklės

Kai kurios griežtos slaptažodžio taisyklės, kurias galite apsvarstyti, yra:

  1. Slaptažodis turi būti bent 12 simbolių ilgio. Kuo ilgesnis slaptažodis, tuo mažesnė tikimybė, kad jį sugadins žiaurios jėgos ataka.
  2. Slaptažodyje turi būti mažųjų, didžiųjų raidžių, skaičių ir specialiųjų simbolių derinys.
  3. Venkite pasikartoti slaptažodžio simboliai.
  4. Jame neturėtų būti asmeninės informacijos, pvz., vardų, telefonų numerių ar nieko, ką gali lengvai atspėti.
  5. Tai neturėtų būti įprastas žodyno žodis, nors galite naudoti žodžius ilgesnėse slaptažodžių frazėse.
  6. Kelių paskyrų slaptažodis neturėtų būti vienodas. Tu gali nustatyti slaptažodžių tvarkyklę automatiškai užpildyti skirtingus slaptažodžius įvairiose svetainėse, neprisimindami kiekvieno iš jų.

Yra įvairių būdų sukurkite nepalaužiamą slaptažodį, kurį galėtumėte atsiminti. Kai kurie iš jų naudoja eilėraščius, citatas iš filmų, pramonės kalbų ir kt.

Kaip patikrinti slaptažodžio stiprumą naudojant Python

Galite sukurti programą slaptažodžio stiprumui patikrinti, patikrinę aukščiau pateiktas charakteristikas. Šiam kūrimui jums reikės dviejų modulių: styga ir kolekcijos.

Taip pat galite naudoti gauti pasą modulį, kad paslėptumėte slaptažodį, kai vartotojas jį įveda. Tai padeda apsaugoti slaptažodį, kai turite jį įvesti viešai. Norėdami įdiegti getpass vietinėje aplinkoje, atidarykite terminalą ir įveskite:

pip diegti gautipass4

Norėdami patikrinti, ar simbolis yra raidė, skaitmuo ar simbolis, galite naudoti klasę String. Galite naudoti rinkinius, kad patikrintumėte, ar slaptažodyje yra pasikartojančių simbolių.

Naudokite def raktinį žodį, kad apibrėžtumėte funkciją pavadintą check_password_strength() ir perduokite slaptažodį, kurį gausite kaip parametrą.

Inicijuokite šešis kintamuosius: mažesnis_alfa_skaičius, viršutinis_alfa_skaičius, skaičius_skaičius, special_char_count, ilgis, bendras iki nulio. Jie patikrins, ar slaptažodžiu yra mažosios raidės, didžiosios raidės, skaitmenys, specialieji simboliai, ilgis, simbolių pasikartojimas.

Perduokite slaptažodį, kurį gavote iš vartotojo sąrašas () funkcija konvertuoti jį į simbolių sąrašą. Naudodami for kilpą, kartokite kiekvieną sąrašo simbolį. Naudokite teiginį if-else, kad patikrintumėte, ar simbolis yra mažosios raidės, didžiosios raidės, skaičius ar specialus simbolis, ir atitinkamai atnaujinkite skaičių.

Galite manyti, kad visa kita iš abėcėlės ar skaičiaus yra specialus simbolis. Jei norite daugiau apribojimų, specialiuosius simbolius galite saugoti kaip eilutę ir patikrinti, ar joje yra slaptažodžio simbolis. Be to, kai kuriose svetainėse slaptažodžiui galima naudoti tarpus. Galite nustatyti kitą kintamąjį ir jį padidinti arba atsižvelgti į patį specialiųjų simbolių skaičių.

importuoti styga
importuoti kolekcijos

defpatikrinti_slaptažodžio_jėgą(Slaptažodis):
apatinis_alfa_skaicius = viršutinis_alfa_skaicius = skaicius_skaicius = specialus_char_skaicius = ilgis = bendras = 0

dėl įsigyti sąrašą(Slaptažodis):
jeiguchar string.ascii_lowercase:
mažesnis_alfa_skaičius += 1
elifas char string.ascii_uppercase:
viršutinis_alfa_skaičius += 1
elifas char eilutėje.skaitmenys:
skaičius_skaičius += 1
Kitas:
specialus_char_count += 1

Jums reikės slaptažodžių sąrašo arba duomenų bazės, kad patikrintumėte, ar vartotojo slaptažodis yra įprastas. Galite atsisiųsti milijono populiariausių slaptažodžių sąrašą iš „SecLists“ bendrųjų kredencialų „GitHub“ saugykla.

Išsaugokite tekstinį failą kaip common_password_list.txt. Naudokite teiginį su, kad atliktumėte išimčių tvarkymą ir atidarytumėte slaptažodžio failą skaitymo režimu. Naudoti skaityti () funkcija gauti faile esantį turinį ir išsaugoti jį kintamajame pavadinimu turinys.

Jei vartotojo įvesto slaptažodžio nėra įprastų slaptažodžių sąraše, padidinkite bendro kintamojo reikšmę vienu.

suatviras("common_password_list.txt", "r") kaipfailą:
turinys = failas.skaityti()

jei slaptažodžio nėra turinyje:
bendras += 1

Norėdami patikrinti slaptažodžio ilgį, tiesiog perduokite jį į len() funkciją ir patikrinkite, ar jis didesnis arba lygus dvylikai. Jei taip, padidinkite ilgio kintamojo reikšmę.

jeigulen(Slaptažodis) >= 12:
ilgis += 1

Norėdami patikrinti, ar slaptažodžio simboliai nesikartoja, naudokite skaitiklio poklasį iš kolekcijų. Skaitiklis yra netvarkingas raktų ir reikšmių porų rinkinys, kai raktas yra pats elementas, o reikšmė yra elementų skaičius.

Naudokite sąrašo supratimo metodą, kad sudarytumėte pasikartojančių simbolių sąrašą iš žodyno, kurį gaunate naudodami rinkinius. Pakartokite žodyną ir patikrinkite, ar simbolių skaičius yra didesnis nei vienas. Jei skaičius didesnis, pridėkite jį prie sąrašo ir išsaugokite pakartotinai.

 countOfWords = rinkiniai. Skaitiklis (slaptažodis)
pakartotas = [i for i in countOfWords, jei countOfWords[i] > 1]

Dabar, kai turite atskirų charakteristikų reikšmes, inicijuokite kintamąjį, pavadintą stiprumu, iki nulio. Kaip rodo pavadinimas, pamatysite šį kintamąjį, kad patikrintumėte slaptažodžio stiprumą. Vertinimo sistema yra iš septynių – vienas taškas už kiekvieną simbolio įtraukimą ir stipraus slaptažodžio charakteristikas.

Patikrinkite, ar mažųjų raidžių, didžiųjų raidžių, skaičių, specialiųjų simbolių skaičius yra didesnis arba lygus vienam, ir padidinkite kiekvieno buvimo stiprumą vienu. Panašiai patikrinkite, ar ilgis ir bendras kintamasis lygus vienetui ir ar pasikartojančio simbolio ilgis lygus nuliui. Jei tiesa, padidinkite stiprumo kintamojo reikšmę.

 stiprumas = 0

jei mažesnis_alfa_skaičius >= 1:
stiprumas += 1

jei viršutinis_alfa_skaičius >= 1:
stiprumas += 1

jei skaičius_skaičius >= 1:
stiprumas += 1

jei special_char_count >= 1:
stiprumas += 1

jei ilgis == 1:
stiprumas += 1

jei dažnas == 1:
stiprumas += 1

jeigulen(pakartotas)== 0:
stiprumas += 1

Naudokite kelių eilučių eilutę (tris kabutes), kad viename spausdinimo teiginyje būtų rodomos kelios teksto eilutės. Naudokite pažodinę Sring interpoliaciją arba f eilutes arba norėdami parodyti charakteristikų skaičių. Tai galite pasiekti rašydami f eilutės pradžioje spausdinimo teiginyje ir kintamuosius įtraukite į lenktus skliaustus. Naudojate eilučių interpoliaciją, nes spausdinimo teiginio turinys yra eilutė, bet kintamųjų reikšmės yra sveikasis skaičius.

spausdinti(f"""Jūsų slaptažodis turi: 
{lower_alpha_count} mažosios raidės
{upper_alpha_count} didžiosios raidės
{number_count} skaitmenų
{special_char_count} specialiųjų simbolių
{length} ilgio
{common} dažnas
{kartotas} kartojo
„Slaptažodžio balas: {strength}/7“"")

Galiausiai naudokite įvesties sakinį, kad gautumėte slaptažodį iš vartotojo ir perduokite jį patikrinti_slaptažodžio_jėgą funkcija. Atsižvelgdama į slaptažodžio stiprumą, programa parodys rezultatą kartu su slaptažodžio charakteristikų skaičiumi.

slaptažodis = input ("Įveskite slaptažodį:")
check_password_strength (slaptažodis)

Slaptažodžio stiprumo tikrintuvo išvestis

Įvedus stiprų slaptažodį pagal minėtas charakteristikas, „Python“ programa rodo stiprumą kaip 7/7:

Įvedus silpną ir įprastą slaptažodį, programa Python rodo stiprumą kaip 1/7:

Slaptažodžiai ir saugumas

Nors galite nustatyti stipriausią visų laikų slaptažodį, yra ir kitų būdų, kaip įsilaužėlis gali įsilaužti į jūsų sistemą. 95% kibernetinių atakų yra žmogaus klaidų pasekmė. Vienas iš dažniausiai įsilaužėlių naudojamų metodų yra socialinė inžinerija. Įsilaužėlis gali atsiųsti jums suklastotas nuorodas į socialinę žiniasklaidą ar el. prekybos svetaines, kurios atrodo teisėtos, tačiau jas naudodamas gali pažeisti jūsų slaptažodį.

Norėdami apsisaugoti nuo šių metodų, atidarykite tik nuorodas iš patikimo šaltinio ir saugiai įveskite arba saugokite tik svarbią informaciją.