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

24 Окт
2011

В мобильных приложениях для генерации регистрационного кода используется уникальный идентификатор:
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));
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх