Также вы можете сгенерировать случайный ключ и проверить ключ в вашей БД, если ключ выходит, вы можете сгенерировать другой ключ этим методом
у создать многократно используемую функцию, которая будет генерировать случайный ключ с печатными символами ACSII выбранной длины (от 2 до 1000+). Я думаю, что печатные символы ASCII будут 33-126. Их ключ не обязательно должен быть полностью уникальным, просто уникальным, если он генерируется в ту же миллисекунду (такuniqid()
не сработает).
Я думаю, что сочетаниеchr()
а такжеmt_rand()
может работать.
Это путь или лучший способ?
Редактировать: uniqid()
также не будет работать, потому что у него нет параметра длины, это просто то, что дает вам PHP.
Моя идеяЭто то, что я придумал:
function GenerateKey($length = 16) {
$key = '';
for($i = 0; $i < $length; $i ++) {
$key .= chr(mt_rand(33, 126));
}
return $key;
}
Есть ли проблемы с этим?
Другое Править: Большинство других вопросов касаются генерации пароля. Я хочу более широкое разнообразие персонажей, и мне все равно1
противl
, Я хочу, чтобы было максимально возможное количество ключей.
Примечание: сгенерированный ключ не обязательно должен быть криптографически безопасным.