Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++ > Pascal] Перевести функцию


Автор: robt 1.7.2013, 19:24
Код

void strdec(u_char *str) {
    u_char  *enc, *ptr;
    int     len,  old,  new;
 
    enc = DATA;
    len = strlen(str) >> 1;
    if(!len) return;
    len--;
    sscanf(str, "%02X", &old);
    old ^= 0x5a;
    ptr = str;
    str += 2;
    while(len--) {
        sscanf(str, "%02X", &new);
        new ^= *enc++;
        if(old >= new) new--;
        *ptr++ = new - old;
        sscanf(str, "%02X", &old);
        str += 2;
        if(!*enc) enc = DATA;
    }
    *ptr = 0;
}

входная строка состоит из 16ричных значений например BA45FF33A332CA1DFA, беруца по 2буквы - получается 1 число
с ним уже происходят манипуляции
в DATA массив букв с ключевой фразой

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)