Написать простую функцию encode по ключу

Сергей14 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
21.11.2011

Есть функция декодирования массива целых чисел в строку, при помощи ключа. Написанная на С. Вот текст функции и ключ:

char STR_KEY[] = "s5dk67f7jLKK46JI84ED";

char* DECODE_STR( unsigned char str[] )

{

if( str[0] == 0 )

{ // decode

str[0] = 1;

unsigned int len = str[1];

len =( len

len =( len + str[2] );

unsigned int keyLength = strlen( STR_KEY );

int keyN;

for( int i=0; i

{

keyN = i % keyLength;

str[3+i] = ( str[3+i] ^ STR_KEY[keyN] );

}

}

return (char *)&str[3];

}

Необходимо написать функцию кодирования, т.е. получения массива чисел из строки.

Есть тестовые строки, на которых можно проверять резальтат

Строка: http://

Массив после кодирования: unsigned char STR_HTTP_PREFIX[] = {0,0,8,27,65,16,27,12,24,73,55};

Строка: 1.8.5.1

Массив после кодирования: unsigned char STR_VERSION[] = {0,0,8,66,27,92,69,3,25,87,55};

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

Заявки фрилансеров