Search
Write a publication
Pull to refresh

Онлайн генератор регистрационного кода мобильных приложений

В мобильных приложениях для генерации регистрационного кода используется уникальный идентификатор:
Windows Mobile — User Name
Symbian OS — IMEI
Palm OS — HotSync Name
Наиболее распространенным алгоритмом генерации ключа является RPN String (обратная польская нотация/запись). Это связано с унификацией данного алгоритма большинством интернет площадок продающих мобильные приложения, где разработчику для генерации регистрационного кода необходимо просто написать свою уникальную математическую формулу.

Принцип генерации RPN String: для каждой буквы идентификатора (используется 10 символов — с начала и с конца по 5) вызывается функция RegCode=F(С,I,RegCode), где RegCode — код передающийся на следующий шаг, C — текущая буква, I — позиция буквы, F — функция реализующая алгоритм RPN (пример «i 0 == 123 * RegCode + c 4 * +»). Для удобства ввода пользователем полученный RegCode должен содержать пятизначное значение.

Наиболее предпочтительным является генерация кода на своем сайте, что позволяет самостоятельно контролировать продажи и защищает алгоритм генерации от возможного несанкционированного использования. Также данный подход позволяет отказаться от использования порталов продающих мобильные приложения и перейти к «прямым продажам» со своего сайта — как обычных десктопных приложений, через различные онлайн регистраторы, просто дополнительно запрашивая у пользователя уникальный идентификатор его устройства.

Пример CGI шаблона для генерации RPN кода на Perl:

#!/usr/bin/perl -wT
use CGI qw/:standard/;
$deviceId = param('deviceId');
$deviceId =~ s/\s+$//;
$RegCode=0;
if (length($deviceId)>10) {substr($deviceId,5,length($deviceId)-10)="";}
@array = unpack("C*", $deviceId);
for ($i = 0; $i < length($deviceId; $i++) {$RegCode=($array[$i] + $i + $RegCode);}
print "Content-type: text/plain\n\n";
print sprintf("%05d",($RegCode % 65536));
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.