Μετάβαση στο περιεχόμενο

PHP password generator

09/09/2011

Χρειάστηκα σήμερα έναν password generator, γιατί ήθελα να δώσω passwords σε μια λίστα από emails που έφτιαχνα, και δεν μου πέρασε καν απο το μυαλό ότι το συγκεκριμένο το έχουν χρειαστεί χιλιάδες πριν από μένα. Οπότε ξεκίνησα να γράφω κώδικα και ιδού:

<?php
header('Content-type: text/plain');

function generatePassword($len)
{
    $passwordChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-_=+[]{}\\|,<.>/?`~;:';
    $passwordCharsLen = strlen($passwordChars);
    $tmp = '';
    for ($i=0; $i < $len; $i++)
    {
        $x = rand(1, $passwordCharsLen);
        $tmp .= $passwordChars[$x-1];
    }
    return $tmp;
}

    if (isset($_GET['len'])) $len = (int)$_GET['len'];
    if (($len < 4) || ($len > 128)) $len = 8;
    echo generatePassword($len);
?>

Ισως βέβαια το να έψαχνα και να δοκίμαζα τι δουλεύει και τι όχι να μου έπαιρνε περισσότερο χρόνο απ΄ όσο μου πήρε να κάτσω να το γράψω μόνος μου, αλλά δεν πρόκειται να το μάθω ποτέ…

Ένα σχόλειο. leave one →
  1. 11/09/2011 22:56

    Και μια διαφορετική εκδοχή με την απαίτηση να μην επαναλαμβάνει τα σύμβολα που έχουν χρησιμοποιηθεί… (όπως έχει δημοσιευτεί στο σχετικό θέμα του freestuff.gr)

    function generatePassword ($length = 8 )
    {
        $possible = '12346789abcdefghjkmnpqrtvwxyz@#$%&*';
        $maxlength = strlen($possible);
        if ($length > $maxlength) $length = $maxlength;
        $password = substr(str_shuffle($possible), 0, $length);
        return $password;
    }

Υποβολή σχολίου

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Αλλαγή )

Twitter picture

You are commenting using your Twitter account. Log Out / Αλλαγή )

Facebook photo

You are commenting using your Facebook account. Log Out / Αλλαγή )

Connecting to %s

Follow

Get every new post delivered to your Inbox.