Как сгенерировать случайную строку
Короткий ответ
random_bytes() даёт случайные байты, bin2hex() превращает их в текст:
<?php
echo bin2hex(random_bytes(8));Свой набор символов
Выбирайте символы по одному функцией random_int():
<?php
function randomString(int $length): string
{
$alphabet = 'abcdefghjkmnpqrstuvwxyz23456789';
$result = '';
for ($i = 0; $i < $length; $i++) {
$result .= $alphabet[random_int(0, strlen($alphabet) - 1)];
}
return $result;
}
echo strlen(randomString(10));Результат:
10Код из цифр
Шестизначный код подтверждения с ведущими нулями:
<?php
echo str_pad((string) random_int(0, 999999), 6, '0', STR_PAD_LEFT);Функции из этого ответа
- random_bytes — Возвращает случайные байты, пригодные для защиты.
- random_int — Возвращает случайное целое число из диапазона.
- uniqid — Возвращает идентификатор, основанный на текущем времени.