Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Dáta sú v dnešnom digitálnom svete životne dôležité aktívum. Každoročne sa obeťou hackerov stane viac ako osem miliónov ľudí a každý deň dôjde k viac ako 2200 kybernetickým útokom. S takouto alarmujúcou mierou počítačovej kriminality sa stáva prioritou používať osvedčené postupy na ochranu pred hackermi. Jedným z najdôležitejších aspektov každého účtu je jeho heslo.

Ak hacker prelomí vaše heslo, môže získať prístup k vašim osobným informáciám a dokonca aj k bankovému účtu v priebehu niekoľkých minút. Hoci to znie strašidelne, môžete sa naučiť, ako zabezpečiť svoje heslá pomocou osvedčených postupov, a to vytvorením vlastného programu Python na kontrolu jeho sily.

Rôzne pravidlá pre nastavenie silných hesiel

Niektoré pravidlá silného hesla, ktoré by ste mohli zvážiť implementovať, sú:

  1. Heslo by malo mať aspoň 12 znakov. Čím je heslo dlhšie, tým je menšia šanca, že ho ohrozí útok hrubou silou.
  2. instagram viewer
  3. Heslo by malo obsahovať kombináciu malých písmen, veľkých písmen, číslic a špeciálnych znakov.
  4. Vyhnite sa opakovaniu znakov v hesle.
  5. Nemal by obsahovať osobné údaje, ako sú mená, telefónne čísla alebo čokoľvek, čo môže niekto ľahko uhádnuť.
  6. Nemalo by to byť bežné slovo zo slovníka, hoci môžete použiť slová v dlhších heslových frázach.
  7. Heslo by nemalo byť rovnaké pre viacero účtov. Môžeš nastaviť správcu hesiel na automatické vypĺňanie rôznych hesiel pre rôzne stránky bez toho, aby ste si pamätali každé z nich.

Existujú rôzne spôsoby vytvorte si neprelomiteľné heslo, ktoré si zapamätáte. Niektoré z nich používajú detské riekanky, citáty z filmov, žargón v odbore a ďalšie.

Ako skontrolovať silu hesla pomocou Pythonu

Môžete si vytvoriť program na testovanie sily hesla skontrolovaním vyššie uvedených charakteristík. Pre túto zostavu budete potrebovať dva moduly: reťazec a zbierky.

Môžete tiež použiť getpass modul na skrytie hesla, keď ho používateľ zadáva. Pomáha to chrániť vaše heslo, keď ho musíte zadávať na verejnosti. Ak chcete nainštalovať getpass vo svojom lokálnom prostredí, otvorte terminál a zadajte:

pip Inštalácia getpass4

Triedu String môžete použiť na kontrolu, či je znakom písmeno, číslica alebo symbol. Kolekcie môžete použiť na kontrolu, či sa v hesle vyskytujú znaky, ktoré sa opakujú.

Na definovanie funkcie s názvom použite kľúčové slovo def check_password_strength() a odovzdajte mu heslo, ktoré získate ako parameter.

Inicializujte šesť premenných: nižší_počet_alfa, horný_počet_alfa, počet_počet, special_char_count, length, bežné na nulu. Tie skontrolujú prítomnosť malých písmen, veľkých písmen, číslic, špeciálnych znakov, dĺžky, opakovania znakov v hesle.

Odovzdajte heslo, ktoré získate od používateľa zoznam() funkciu previesť na zoznam znakov. Pomocou cyklu for iterujte každý znak v zozname. Pomocou príkazu if-else skontrolujte, či je znak malá abeceda, veľká abeceda, číslo alebo špeciálny znak a aktualizujte počet.

Môžete predpokladať, že čokoľvek iné z abecedy alebo čísla je špeciálny znak. Pre väčšie obmedzenia môžete uložiť špeciálne znaky ako reťazec a skontrolovať, či sa v ňom nachádza znak hesla. Niektoré webové stránky vám navyše umožňujú používať v hesle medzery. Môžete nastaviť inú premennú a zvýšiť ju alebo ju zohľadniť v samotnom počte špeciálnych znakov.

importovať reťazec
importovať zbierky

defkontrola_sila_hesla(heslo):
Lower_alpha_count = upper_alpha_count = number_count = special_char_count = length = common = 0

pre char in zoznam(heslo):
akchar v string.ascii_lowercase:
nižší_alfa_počet += 1
elif char v string.ascii_uppercase:
horný_počet_alfa += 1
elif char v reťazci.číslice:
počet_číslo += 1
inak:
special_char_count += 1

Na kontrolu, či je heslo používateľa bežné, budete potrebovať zoznam hesiel alebo databázu. Môžete si stiahnuť zoznam jedného milióna najpopulárnejších hesiel z Repozitár Common-Credential GitHub SecLists.

Uložte textový súbor ako common_password_list.txt. Na vykonanie spracovania výnimiek a otvorenie súboru hesiel v režime čítania použite príkaz with. Použi čítať() funkcia na získanie obsahu prítomného v súbore a jeho uloženie do premennej s názvom content.

Ak sa heslo, ktoré používateľ zadá, nenachádza v zozname spoločných hesiel, zvýšte hodnotu spoločnej premennej o jednu.

sOTVORENÉ("common_password_list.txt", 'r') akosúbor:
content = file.read()

ak heslo nie je v obsahu:
bežné += 1

Ak chcete skontrolovať dĺžku hesla, jednoducho ho odovzdajte do len() a skontrolujte, či je väčšia alebo rovná dvanástim. Ak áno, zvýšte hodnotu premennej dĺžky.

aklen(heslo) >= 12:
dĺžka += 1

Ak chcete skontrolovať, či sa znaky v hesle neopakujú, použite podtriedu Counter z kolekcií. Počítadlo je neusporiadaná kolekcia párov kľúča a hodnoty, kde kľúčom je samotný prvok a hodnota je počet prvkov.

Pomocou metódy porozumenia zoznamu vytvorte zoznam opakovaných znakov zo slovníka, ktorý získate pomocou kolekcií. Iterujte cez slovník a skontrolujte, či je počet znakov väčší ako jedna. Ak je počet väčší, pridajte ho do zoznamu a uložte ho opakovane.

 countOfWords = zbierky. Počítadlo (heslo)
opakované = [i pre i v počte slov, ak počet slov[i] > 1]

Teraz, keď máte hodnoty jednotlivých charakteristík, inicializujte premennú s názvom sila na nulu. Ako už názov napovedá, túto premennú uvidíte na kontrolu sily hesla. Bodovací systém je zo siedmich, jeden bod za každé zaradenie znaku a charakteristiku silného hesla.

Skontrolujte, či je počet malých písmen, veľkých písmen, čísel a špeciálnych znakov väčší alebo rovný jednej a zvýšte intenzitu o jeden pre každú prítomnosť. Podobne skontrolujte, či sa dĺžka a spoločná premenná rovná jednej a či sa dĺžka opakovaného znaku rovná nule. Ak je pravda, zvýšte hodnotu premennej sily.

 sila = 0

ak nižší_počet_alfa >= 1:
sila += 1

ak horný_počet_alfa >= 1:
sila += 1

ak počet_počet >= 1:
sila += 1

ak special_char_count >= 1:
sila += 1

ak dĺžka == 1:
sila += 1

ak je bežné == 1:
sila += 1

aklen(opakovane)== 0:
sila += 1

Použite viacriadkový reťazec (tri úvodzovky) na zobrazenie viacerých riadkov textu v jednom tlačovom príkaze. Použite doslovnú interpoláciu Sring alebo f-reťazce alebo na zobrazenie počtu charakteristík. Môžete to dosiahnuť písaním f na začiatok reťazca v príkaze print a uzatvorte premenné do zložených zátvoriek. Používate interpoláciu reťazca, pretože obsah vo vnútri príkazu print je reťazec, ale hodnota premenných je celé číslo.

vytlačiť(f"""Vaše heslo má:- 
{lower_alpha_count} malých písmen
{upper_alpha_count} veľkých písmen
{number_count} číslic
{special_char_count} špeciálnych znakov
{dĺžka} dĺžka
{common} bežné
{repeated} opakované
"Skóre hesla: {strength}/7""")

Nakoniec použite vstupný príkaz na získanie hesla od používateľa a jeho odovzdanie kontrola_sila_hesla funkciu. Na základe sily hesla program zobrazí skóre spolu s počtom vlastností prítomných v hesle.

heslo = vstup("Zadajte heslo:")
check_password_strength (heslo)

Výstup kontroly sily hesla

Po zadaní silného hesla na základe uvedených charakteristík program Python zobrazí silu ako 7/7:

Po zadaní slabého a bežného hesla program Python zobrazí silu ako 1/7:

Heslá a bezpečnosť

Aj keď môžete nastaviť najsilnejšie heslo vôbec, existujú aj iné spôsoby, ako sa hacker môže dostať do vášho systému. 95 % kybernetických útokov je výsledkom ľudskej chyby. Jednou z najbežnejších metód, ktorú hackeri používajú, je sociálne inžinierstvo. Hacker vám môže poslať falošné odkazy na sociálne médiá alebo webové stránky elektronického obchodu, ktoré vyzerajú legitímne, ale ak ich použijete, prezradí vaše heslo.

Ak sa chcete chrániť pred týmito technikami, uistite sa, že otvárate odkazy iba z dôveryhodného zdroja a iba vkladáte alebo ukladáte dôležité informácie bezpečne.