Как мне создать серийный номер (регистрационный номер)? - PullRequest
5 голосов
/ 28 июня 2010

Как создать серийный номер, который пользователи могут использовать для регистрации приложения?

Я думал о следующем сценарии:

  • Пользователи пробуют приложение.
  • Когда они хотят купить приложение, они выбирают пункт меню.
  • Приложение генерирует код, который затем передается на веб-сайт для покупки приложения.
  • Пользователи вводят код, возвращаемый с веб-сайта.
  • Приложение проверяет введенный код с сгенерированным кодом.

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

Ответы [ 2 ]

9 голосов
/ 28 июня 2010

Вы можете использовать асимметричное шифрование и хеширование, чтобы выполнить это:

  1. Вы связываете свой открытый ключ с приложением.
  2. Когда пользователь покупает приложение, он указывает свое имя и адрес электронной почты.
  3. Веб-сайт хэширует имя пользователя и адрес электронной почты, подписывает хеш с помощью вашего закрытого ключа и предоставляет результат в Base64 для облегчения ввода.
  4. Когда пользователь вводит «код» в ваше приложение вместе со своим именем и адресом электронной почты, ваше приложение может проверить, что оно было подписано вашим личным ключом (к которому есть доступ только у вас / у интернет-магазина), и что он совпадает с именем и адресом электронной почты, предоставленными пользователем.
2 голосов
/ 28 июня 2010

Есть несколько проектов с открытым исходным кодом, которые устраняют необходимость даже думать об этом. Вы можете сосредоточиться на написании того, что ваш пользователь фактически купит. Существует система с открытым исходным кодом под названием Aquatic Prime для генерации серийных номеров. Есть много веб-порталов, которые работают с Aquatic Prime, например Shine .

Мне не нравится писать что-то "новое", когда есть совершенно хорошее решение (особенно, если эти проекты бесплатны)

...