Генерация ключей произвольной длины без наложения - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу создать ключ для своих членов со следующими правилами:

  • Каждый ключ может содержать от 4 до 8 символов.
  • Каждый ключ исключает другие вторичные ключи большей длины спрефикс этого.
  • В соответствии со вторым правилом нельзя генерировать ключ меньшей длины.

Например:

Предположим, у нас есть следующие ключи: 1212, 1213, 019393 и 0793993

Мы не можем создать ключ 0193 из-за третьего ключа, описанного выше, а также мы не можем создать ключ 12125 из-запервый ключ выше.

Итак, вот в чем проблема: каков наилучший способ создания нового ключа в соответствии с правилами с наименьшей загрузкой процесса?

  1. Одним из решений является проверкавсе сгенерированные ключи каждый раз, но это может занять много времени.
  2. Другое решение - сохранить исключенные ключи в таблице и каждый раз проверять, есть ли в таблице исключенный ключ, чтобы не регистрировать участника, но это может занимать много времени и средств.

Что вы думаете о лучшем решении проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...