Задача генерации случайной строки возникает часто в алгоритмах связанных с безопасностью.
Начиная с версии PHP 5.3, стала доступна функция
1 |
openssl_random_pseudo_bytes(int $length [, bool &$crypto_strong ]); |
которая позволяет генерировать цепочку псевдослучайных байтов произвольной длины.
Если вам требуется получить значение в виде строки а не binary, то можно воспользоваться преобразованием base64_encode() или bin2hex().
Например, получим строку из 20 случайных символов (из набора [0-9,a-f]):
1 |
$randomString = <em>bin2hex(openssl_random_pseudo_bytes(10));</em> |
Код, как видите, занимает всего одну строку.