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)

e4lexiri elaqaw6o uvetodi5 2unegosu usopuso3
0sutajiv ber6awis 5ijudesi olaja6mu 4inadopu

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

Cwl8bcYa JSu5ummt rmn7WAal rb5WvmmD y5gxaKkK
gzOnWjq8 nnfW8dsX weNlDbq5 bvu8oLlM kzrwc8KH

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

jus$Gn0G bQy9xXt* y@TDr8wv )jvFra1L Qz6bCay=
kE4biM!b pDPx7xf+ WvCnn3d\ mpmCs5A^ qdV[zJp3

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

FdshA$82lf!j z5yYS*j9h;ld P$1e9Wbxga`m <,CNw0kjit8w w`uU7agg_uP2
myw!6dpFS6\q mvk|qFlY}84t ,jg6LaA-ncc3 aVhf3Wax{5>u j7u)foqt1O-W

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

w*hVo09,`bL0XBfv I7+W@qy9Qh<v1paC I?fv+56=yXc7UgaW ca!NVvDTop.45]0u
d'HU7c3vzJ8Tr]<l i1[orG|RU.a8Cat4 uyP"/3E^T3p2oAes !m5qjlVFLbv3M9%,

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(01) ? 'A' 'a');
            
$password[$i] = chr(mt_rand($a$a 25));
        }
    }
    return 
$password;
}