Удобочитаемый GUID

Я пишу небольшую систему, которая позволит мне продавать музыку моей группы на концертах, генерируя ваучеры, которые можно обменять на MP3 на нашем сайте.

Ваучерам понадобится код, который вводит пользователь. Код должен обладать следующими качествами:

Некоторый уровень удобочитаемости человека с точки зрения длины и содержания, чтобы предотвратить разочарование пользователя и ошибку ввода данных.Учитывая один код ваучера, нетривиально угадать другой код ваучера.

Если я использую GUID, меня беспокоит пункт 1. Если я использую возрастающее целое число, меня беспокоит пункт 2. Между ними должен быть какой-то счастливый посредник, верно? Я подумал, что, возможно, эта работа уже выполнена, и меня ждет идеальное решение. В отсутствие этого я думаю, что я пойду со случайной буквенно-цифровой строкой или, возможно, только буквами (исключая I и O для ясности), и получу IP-адреса блока приложения, которые не пройдут X раз, что указывало бы возможная атака грубой силы. Если бы я пошел с этим, как долго будет работать строка и какое значение X, и почему?

Спасибо за вашу помощь!

Обновление: я не был полностью ясен о методе: я буду генерировать списки кодов ваучеров для печати, а затем вводить «проданные» коды после концерта. Поэтому я думаю, что такие элементы, как контрольная сумма, не нужны, как в программных ключах, которые не используют серверы проверки.

Ответы на вопрос(12)

Ваш ответ на вопрос