Loading:


    Generowanie hasła

    Witam serdecznie. W tym artykule pokaże Wam jak napisać aplikację, która będzie generowała hasło. Co będzie ją wyróżniało? To, że my decydujemy, z jakich zasobów ma ona korzystać. Generator, może być wykorzystywany wielokrotnie, dlatego napiszemy go sobie w postaci funkcji.

     

    Funkcja ta będzie przyjmowała jeden parametr - długość hasła.

     

    function passwordGenerator($length)

     

    Następnie utworzymy tablice, które będą przechowywać znaki, które mogą zostać użyte w haśle (można dodawać własne):

     

    $uppercase = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'W', 'Y', 'Z');

    $lowercase = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'w', 'y', 'z');

    $number = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

     

    Teraz musimy utworzyć zmienną, odpowiadającą, za przechowywanie hasła, do którego będziemy dopisywać poszczególne znaki i na końcu je zwrócimy. Słowo kluczowe NULL oznacza nic, czyli równie dobrze moglibyśmy napisać $password = '';

     

    $password = NULL;

     

    Głowna część programu, czyli pętla uzupełniająca nasze hasło, jako warunek dałem długość podaną jako parametr (żebyśmy mieli pewność, że hasło nie będzie za krótkie), ale zauważcie, że co każdy obrót pętli generują się 3 znaki (bo są 3 tablice w tym przypadku) więc tak, czy tak na końcu będziemy musieli ten ciąg "obciąć".

     

    Losowanie znaków z tablic przebiega w ten sposób, że do zmiennej przechowującej hasło dopisywany jest losowy indeks konkretnej tablicy, a samo losowanie indeksów polega na losowaniu liczb od 0 do ostatniego indeksu tablicy (dzięki funkcji count() wiemy, ile elementów ma tablica) i na końcu odjęciu jednego elementu, ponieważ liczymy od 0.

     

    for ($i = 0; $i < $length; $i++) {

    $password .= $uppercase[rand(0, count($uppercase) - 1)];

    $password .= $lowercase[rand(0, count($lowercase) - 1)];

    $password .= $number[rand(0, count($number) - 1)];

    }

     

    Przed nami finał, zostało tylko skrócić hasło do długości podanej jako parametr funkcji, dokonamy tego za pomocą funkcji substr(). Od razu skrócony ciąg znaków zwrócimy.

     

    return substr($password, 0, $length);

     

    I to wszystko, teraz możemy sobie nasze hasło np. przypisać do zmiennej:

     

    $myPassword = passwordGenerator(8);

    echo '<p>Moje wygenerowane hasło: <strong>' . $myPassword . '</strong></p>' . "\n";

     

    Efekt: Moje wygenerowane hasł‚o: Al6Do0Wp

     

    To na tyle w tym artykule, dziękuję za uwagę i pozdrawiam.



    Napisz Artyku³

    Listing

    <?php

    function passwordGenerator($length) {
        $uppercase = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'W', 'Y', 'Z');
        $lowercase = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'w', 'y', 'z');
        $number = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

        $password = NULL;

        for ($i = 0; $i < $length; $i++) {
            $password .= $uppercase[rand(0, count($uppercase) - 1)];
            $password .= $lowercase[rand(0, count($lowercase) - 1)];
            $password .= $number[rand(0, count($number) - 1)];
        }

        return substr($password, 0, $length);
    }

    $myPassword = passwordGenerator(8);
    echo '<p>Moje wygenerowane hasło: <strong>' . $myPassword . '</strong></p>' . "\n"

    ?>




    Dodano przez: lukaaspl Ranga: 0 Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors