Stewdent.eu
▾

Silné heslá

Zisti, čo robí heslo silným, prečo sú slabé heslá nebezpečné a ako používať správcu hesiel.

Posledná aktualizácia: 16. novembra 2025

★☆☆☆☆ Stupeň 1computingSústavysecuritypasswordscybersecurity4 min čítania

Nahlásiť chybu

Heslo je prvá línia obrany tvojich online účtov. Napriek tomu milióny ľudí stále používajú heslá ako „123456" alebo „heslo" — a práve preto sa stávajú obeťami hackerov. Naučíme sa, čo robí heslo skutočne silným.

Prečo záleží na sile hesla?

Útočníci využívajú niekoľko metód na prelomenie hesiel:

Útok hrubou silou (Brute force)

Program systematicky vyskúša všetky možné kombinácie znakov, kým nájde správne heslo.

Príklady časov prelomenia:

HesloČas na prelomenie
abcOkamžite
heslo123Niekoľko sekúnd
HeSlo@123!Týždne
xK9#mP2$nQ7&wLMilióny rokov

Slovníkový útok (Dictionary attack)

Útočník vyskúša všetky slová zo slovníka a bežné heslá. Preto „slovenčina" je slabé heslo, aj keď je dlhé.

Phishing

Útočník ťa oklame, aby si heslo zadal sám na falošnej stránke.

Upozornenie

Podľa štatistík je „123456" stále jedno z najpoužívanejších hesiel na svete. Ak používaš takéto heslo, útočník ho uhádne doslova za sekundu.

Čo robí heslo silným?

Silné heslo má tieto vlastnosti:

  1. Dĺžka — aspoň 12 znakov (ideálne 16+)
  2. Rôzne typy znakov — veľké písmená, malé písmená, číslice, špeciálne znaky (@, #, !, ?)
  3. Bez slov zo slovníka — žiadne bežné slová ani mená
  4. Jedinečnosť — iné heslo pre každý účet
import secrets
import string

def generuj_heslo(dlzka=16):
    """Vygeneruje kryptograficky bezpečné heslo."""
    znaky = (
        string.ascii_uppercase +   # A-Z
        string.ascii_lowercase +   # a-z
        string.digits +            # 0-9
        "!@#$%^&*"                # špeciálne znaky
    )
    heslo = ''.join(secrets.choice(znaky) for _ in range(dlzka))
    return heslo

# Generovanie bezpečného hesla
print(generuj_heslo(16))   # Napr. xK9#mP2$nQ7&wL!Z

def sila_hesla(heslo):
    """Ohodnotí silu hesla."""
    skore = 0
    if len(heslo) >= 12: skore += 1
    if any(c.isupper() for c in heslo): skore += 1
    if any(c.islower() for c in heslo): skore += 1
    if any(c.isdigit() for c in heslo): skore += 1
    if any(c in "!@#$%^&*" for c in heslo): skore += 1
    
    urovne = ["Veľmi slabé", "Slabé", "Stredné", "Dobré", "Silné"]
    return urovne[skore - 1] if skore > 0 else "Veľmi slabé"

print(sila_hesla("123456"))           # Veľmi slabé
print(sila_hesla("Heslo@2024"))       # Dobré
print(sila_hesla("xK9#mP2$nQ7&wL"))  # Silné
Tip

Namiesto náhodných znakov, ktoré si ťažko pamätáš, môžeš použiť dlhú passphrase — vetu zloženú z náhodných slov: modrý-slon-letí-nad-školou. Je ľahko zapamätateľná a zároveň veľmi ťažko prelomiteľná.

Prečo iné heslo pre každý účet?

Ak použiješ to isté heslo všade a útočník ho uhádne (alebo ho získa z úniku dát), dostane prístup ku všetkým tvojim účtom naraz. Toto sa nazýva credential stuffing — útočník skúša ukradnuté heslá na iných weboch.

Správca hesiel (Password Manager)

Zapamätať si desiatky silných, jedinečných hesiel je nemožné. Riešenie: správca hesiel (password manager).

Ako funguje:

  • Uloží všetky heslá v šifrovanej databáze
  • Ty si pamätáš len jedno silné hlavné heslo (master password)
  • Automaticky vyplní heslá na weboch

Populárne správcovanie hesiel: Bitwarden (zadarmo, open-source), 1Password, KeePass

Dvojfaktorová autentizácia (2FA)

Aj silné heslo môže byť odcudzené. 2FA pridáva druhú vrstvu ochrany — okrem hesla potrebuješ aj kód z telefónu (SMS alebo autentizátor).

Poznámka

Zapni si 2FA aspoň na najdôležitejších účtoch: e-mail, internet banking, sociálne siete. Aj keď útočník získa tvoje heslo, bez prístupu k telefónu sa neprihlási.

Cvičné príklady

Prečo je heslo 'Slovensko2024' slabé, aj keď má viac ako 12 znakov a obsahuje číslo?

Zobraziť odpoveď
Obsahuje bežné slovo zo slovníka ('Slovensko') a predvídateľný vzor (rok). Slovníkový útok by vyskúšal kombinácie bežných slov s rokmi veľmi rýchlo. Silné heslo by malo obsahovať náhodné znaky alebo nepredvídateľnú passphrase.

Prečo je nebezpečné používať to isté heslo na viacerých weboch? Čo môže útočník urobiť, keď ho získa?

Zobraziť odpoveď
Ak útočník získa heslo z jedného webu (napr. z úniku dát), vyskúša ho na všetkých ostatných weboch kde máš účet (credential stuffing). Jedno odcudzené heslo tak môže otvoriť všetky tvoje účty. Preto je dôležité mať jedinečné heslo pre každý web.