Генерація випадкового пароля в PHP

Сніппет

Щоб створити пароль із потрібним набором символів, просто створіть рядок алфавіту ($alphabet) з конкретними символами a-z, A-Z, 0-9 (або все, що ви хочете).

downloadcopy
<?php
function generatePassword($length = 8) {
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $count = mb_strlen($alphabet);
    for ($i = 0, $result = ''; $i < $length; $i++) {
        $index = mt_rand(0, $count - 1);
        $result .= mb_substr($alphabet, $index, 1);
    }
    return $result;
}

echo generatePassword(12);

Якщо ви використовуєте PHP7, ви можете використати random_int() замість функції mt_rand:

downloadcopy
<?php
function generatePassword($length = 8) {
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $count = mb_strlen($alphabet);
    for ($i = 0, $result = ''; $i < $length; $i++) {
        $index = random_int(0, $count - 1);
        $result .= mb_substr($alphabet, $index, 1);
    }
    return $result;
}

echo generatePassword(12);

Якщо вам потрібно згенерувати надійний пароль, то ви можете скористатися нашим інструментом - генерація пароля онлайн.