Написать простую функцию encode по ключу
Есть функция декодирования массива целых чисел в строку, при помощи ключа. Написанная на С. Вот текст функции и ключ:
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};
Результат можно оформить в виле десктопного предложения, где входные данные: кодируемая строка и ключ. Выходные: закодрованный массив чисел. Или в виде пхп скрипта с веб формой.