Martin Matějů

Programátor a specialista na Wordpress

Generátor hesel

Používáte snadno zapamatovatelné heslo? Známe slovo? Sekvenci číslic? Nedělejte to! Používejte heslo, které je náhodně vygenerované. Snížíte riziko, že Vaše heslo bude zneužito. A zvýšíte svoji bezpečnostní úroveň práce s počítačem a na Internetu.

Pokud se Vám žádné heslo nelíbí, obnovte stránku, vygenerují se nová hesla.

Funkce na generování hesel je možné volně používat, už ani nevím za ty roky, kdo na ně má „kopirajt“, jestli já nebo Honza. Zobrazit PHP skript pro generování hesel.

Pěkné heslo (8 znaků celkem)

naqaj8ah g4alujob p5utodan itit4iwe isude8va
o4pixane nehusa4l ehaxe2xe ti6nobip 7himedup

Slabé heslo (8 znaků celkem, 2 velká písmena, 1 číslo)

xqTas2mF Dut7lyYs Gl6kldyD qtA5fIyh hoZ5Fjit
F5cwNbao j9MFvovm elOzyZy9 nrsZ3xgV HofwtW4y

Dostatečné heslo (8 znaků celkem, 2 velká písmena, 1 číslo, 1 speciální znak)

XoE-b7ba vfq[dD2B pBb9{avK Le,rwuW0 7uZcyBy'
R_dvd4dM Top=4Mby yC5k{rbO 5ubYj]Xr cK9<xhNb

Bezpečné heslo 12 znaků celkem, 2 velká písmena, 2 čísla, 2 speciální znaky

;NgJor@p93rq H}tp3Hq}v2ao W0kK^nzg5mp^ jL34Nx-y!vob f/Uw6b3aa~Gp
otp`u8.HdkT5 tca3aBna@S*7 yK-7eQ6jth=z 0aoqBp!)6jfE kx4g6x<P_gBl

Nejbezpečnější heslo 16 znaků celkem, 4 velká písmena, 3 čísla, 3 speciální znaky

AN3xZk~wxS@2um4[ s7oS.sSerT2t!7_O }EBvp1C:aj6:8Kow ]j=95gPpk0R`ZCbd
en0w>4jfH.1&HPwM fU9Od*dRX?(1vb5i f9Wz'o_4W6al$zLI N?l]8BfRrme7Ib8{

PHP funkce pro generování hesel

<?php

function password_smart($length = 8) {
    $vowels = 'aeiou';
    $consonants = 'bdghjlmnpqrstvwx';
    $password = '';
    mt_srand((double)microtime() * 1000000);
    $alt = mt_rand() % 2;
    $number = mt_rand() % $length;
    for ($i = 0; $i < $length; $i++) {
        if ($number == $i) {
            $password .= mt_rand() % 9;
        } else if ($alt == 1) {
            $password .= $consonants[(mt_rand() % strlen($consonants))];
            $alt = 0;
        } else {
            $password .= $vowels[(mt_rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    return $password;
}

function password_brutal($length = 8, $upper = 2, $digit = 1, $spec = 1) {
    mt_srand((double)microtime() * 1000000);
    $count = $length;
    $sp = '!"#$%&' . "'" . '()*+,-./:;<=>?@[\]^_`{|}~';
    $up = !$upper;
    $password = str_repeat(' ', $length);
    // spec
    while ($count && $spec) {
        $i = mt_rand() % $length;
        if ($password[$i] == ' ') {
            $password[$i] = $sp[mt_rand() % strlen($sp)];
            $spec--;
            $count--;
        }
    }
    // digit
    while ($count && $digit) {
        $i = mt_rand() % $length;
        if ($password[$i] == ' ') {
            $password[$i] = chr(mt_rand(ord('0'), ord('9')));
            $digit--;
            $count--;
        }
    }
    // upper
    while ($count && $upper) {
        $i = mt_rand() % $length;
        if ($password[$i] == ' ') {
            $password[$i] = chr(mt_rand(ord('A'), ord('Z')));
            $upper--;
            $count--;
        }
    }
    // other
    for ($i = 0; $i < $length; $i++) {
        if ($password[$i] == ' ') {
            $a = ord($up && mt_rand(0, 1) ? 'A' : 'a');
            $password[$i] = chr(mt_rand($a, $a + 25));
        }
    }
    return $password;
}