Я знаю, что это может быть немного поздно для игры, но вот простая однострочная строка, которая генерирует истинную случайную строку без какого-либо зацикливания на уровне скрипта или использования библиотек openssl.
echo substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', mt_rand(1,10))),1,10);
Дляразбить его так, чтобы параметры были понятны
// Character List to Pick from
$chrList = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
// Minimum/Maximum times to repeat character List to seed from
$chrRepeatMin = 1; // Minimum times to repeat the seed string
$chrRepeatMax = 10; // Maximum times to repeat the seed string
// Length of Random String returned
$chrRandomLength = 10;
// The ONE LINE random command with the above variables.
echo substr(str_shuffle(str_repeat($chrList, mt_rand($chrRepeatMin,$chrRepeatMax))),1,$chrRandomLength);
Этот метод работает путем случайного повторения списка символов, затем перемешивает объединенную строку и возвращает указанное количество символов.
Вы можете дополнительнорандомизируйте это, рандомизируя длину возвращаемой строки, заменяя $chrRandomLength
на mt_rand(8, 15)
(для случайной строки от 8 до 15 символов).