Генерация рандомного 15-значного ключа

108
16 декабря 2020, 22:50

Нужно сделать генерацию ключа (который будет использоваться как инвайты для регистрации) из 15 латинских букв так, чтоб они не повторялись. То-есть при нажатии на кнопку у пользователя должно генерироваться по 10 новых ключей.

Проблема в том, что при обычной генерации ключи могут повторяться. И как тогда сгенерировать ключ? Также нужно чтоб ключи отличались друг от друга. Чтоб их нельзя было подобрать. (Например все буквы сначала одинаковые, и только последняя отличается). Как это можно реализовать?

Answer 1

Используйте базу данных ключей, чтобы избежать повторений. Алгоритм:
1. Cоздаете ключ.
2. Проверяете есть ли такой в базе.
2.1. В случае если такой ключ есть, повторяете пункт 1
2.2. Если нету ключа, добавляете в базу

======

Сама генерация ключа может быть следующая:

function get_key(){
   return substr(uniqid(rand()), 0, 15);
}
READ ALSO
Добавляются кавычки в CSV PHP

Добавляются кавычки в CSV PHP

Подскажите почему при экспорте на PHP в мой файл попадают кавычки? Сам массив через var_dump()

123
Получение данных с помощью ajax

Получение данных с помощью ajax

Как сделать загрузку данных через ajax? Мне нужно, чтобы при старте html документа выполнялся ajax запрос на получения нескольких данных и записи...

121
Как прописать условие для modx?

Как прописать условие для modx?

Как можно прописать условие, что если фотографии загружены в блок "фото до/после" то показать блок, а если нет то скрытьВот такой код находится...

137
Ошибка подключение wiremock

Ошибка подключение wiremock

При попытке зупуска сервиса заглушек wiremock, происходит ошибка

122