Лучший способ генерировать коды активации для программного обеспечения?
-
20-09-2019 - |
Вопрос
Каков хороший способ случайного генерирования некоторых, которые нельзя быть очень, до-допуски, сгенерированные коды активации для использования для активации программного обеспечения? Я делаю систему автоматического заполнения для веб-приложения.
Я использую C#.
Решение
Другие советы
Это зависит от ваших целей. GUID прост в создании, но это боль, если пользователь должен ввести его вручную. Это нормально, если активация происходит (скажем), нажимая URL -адрес, указанный в электронной почте, или если вы можете ожидать, что пользователь скопирует и вставьте значение из электронной почты активации.
В других случаях (например, программное обеспечение, заправленное с переворачиванием, при этом код активации физически печатается на упаковке), пользователь будет вручную вводить код. В этом случае вам лучше использовать метод, похожий на то, что используют Microsoft и Blizzard: генерируйте код, состоящий из пяти групп из пяти случайных буквенно -цифровых символов (пропустите гласные, если вы хотите устранить риск, что код активации будет содержит что -то вроде 4shit) и проверяйте каждый код, сгенерированный по основному списку для дубликатов. (Хотя я думаю, что шансы даже 100 000 последовательности, извлеченной из {1, 2, ... 34^26 - 1}, содержащей дубликат, довольно маленькие. Трудно сказать наверняка, потому что единственный способ я знаю расчет это переполняет двойник.)
Guid.newGuid (). ToString ()
Если вы не возражаете против длины 36 персонажа.
Вы, вероятно, должны просто использовать GUID