Справочник функций

Ваш аккаунт

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

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шифрование и дешифрование!!!

2.1K
07 мая 2007 года
FreeWay
142 / / 03.05.2007
Всем привет!!!
загогулина не простая:

данные над которыми мне необходимо работать шифранули вот таким не хитрым методом:
FUNCTION CRIPT
PARAMETER OUTG
OOO = ''
FOR NI = 1 TO LEN(OUTG)
OOO = OOO+CHR(249-ASC(SUBSTR(OUTG,NI)))
ENDFOR

не знаю что это за язык, но по сути все просто - делают логический сдвиг, потом берут код клавиши.

мне надо сделать процесс обратный (тоесть расшифровать), на си в билдере, только замутить не получается

начал типа так:

String ooo =0;
String chet_from_prov=0;
chet_from_prov=DB_chet_prov->Field->AsString; //счет первого поля табл prov
while (!Table1->Eof)

for (i==0; i< sizeOf(chet_from_prov); i++)

// и вот тут то эти закодычные преобразования (((((((((
497
07 мая 2007 года
IL84
267 / / 24.04.2003
SUBSTR(OUTG,NI) - берется i-ый символ исходной строки
ASC(SUBSTR(OUTG,NI)) - берется ASCII-значение этого символа
249-ASC(SUBSTR(OUTG,NI)) - вычитается из 249
CHR(249-ASC(SUBSTR(OUTG,NI))) - преобразуется в символ и добавляется в выходную строку.
2.1K
08 мая 2007 года
FreeWay
142 / / 03.05.2007
Цитата: IL84
SUBSTR(OUTG,NI) - берется i-ый символ исходной строки
ASC(SUBSTR(OUTG,NI)) - берется ASCII-значение этого символа
249-ASC(SUBSTR(OUTG,NI)) - вычитается из 249
CHR(249-ASC(SUBSTR(OUTG,NI))) - преобразуется в символ и добавляется в выходную строку.



что то билдер ругается на неидентифицированные функции ([C++ Error] Unit1.cpp(31): E2268 Call to undefined function 'ASC')

может надо библиотеку некую подключить????

2.1K
08 мая 2007 года
FreeWay
142 / / 03.05.2007
Цитата: FreeWay
что то билдер ругается на неидентифицированные функции ([C++ Error] Unit1.cpp(31): E2268 Call to undefined function 'ASC')

может надо библиотеку некую подключить????



и к тому же это для классического досовского си, в билдере это все засунуто в классы и методы, но за логику спасибо, буду пробывать

240
08 мая 2007 года
aks
2.5K / / 14.07.2006
Цитата: FreeWay
и к тому же это для классического досовского си


Сами то понимаете какой бред пишите? )

2.1K
08 мая 2007 года
FreeWay
142 / / 03.05.2007
Цитата: aks
Сами то понимаете какой бред пишите? )



сущьность понимаю, а описал неправильно, ничего удивительного, типичный самоучка :cool:

7.8K
08 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: FreeWay
сущьность понимаю, а описал неправильно, ничего удивительного, типичный самоучка :cool:


нет, вряд ли понимаете.

Вы понимаете, что Вам достаточно этим алгоритом данные зашифровать еще раз, чтобы получить исходный текст?

Вы понимате, что в билдере есть ХЕЛП и там легко можно узнать, что функции ASC там нет в принципе?

Вы понимаете, что Си - он и в Африке Си, независимо от операционной системы?

7.8K
08 мая 2007 года
Hrew
185 / / 23.04.2007
Код в пошаговом виде:

Код:
AnsiString text1="зашифрованный текст", text2="", symb2;
int d=text1.Length();
char symb1;
int i=1, ascii, diff;
while (i<=d)
  {
     symb1=text1;
     ascii = symb1;
     diff=249-ascii;
     symb2 = (char)diff;
     text2+=symb2;
     i++;
  }
//выводим text2
2.1K
08 мая 2007 года
FreeWay
142 / / 03.05.2007
Цитата: Hrew
нет, вряд ли понимаете.

Вы понимаете, что Вам достаточно этим алгоритом данные зашифровать еще раз, чтобы получить исходный текст?

Вы понимате, что в билдере есть ХЕЛП и там легко можно узнать, что функции ASC там нет в принципе?

Вы понимаете, что Си - он и в Африке Си, независимо от операционной системы?



1) этого не понимаю, тоесть вы хотите сказать мне просто можно еще раз данные этим же алгоритмом зашифровать и получу не зашифрованный код, тот что мне нужен???

2) Так зачем писать функцию которой в билдере нет

3) я имею в виду гранично разные версии одного и того же продукта

7.8K
08 мая 2007 года
Hrew
185 / / 23.04.2007
1. да, именно это я и хочу сказать

2. Вам написали последовательность действий, а не готовый код

3. Во первых, Си и Си++Билдер - разные вещи. А во вторых, это не для "классического досовского си", а см.пункт 2.
2.1K
08 мая 2007 года
FreeWay
142 / / 03.05.2007
Цитата: Hrew
1. да, именно это я и хочу сказать

2. Вам написали последовательность действий, а не готовый код

3. Во первых, Си и Си++Билдер - разные вещи. А во вторых, это не для "классического досовского си", а см.пункт 2.



Hrew ну ты зверь))))))))))
мусолил мусолил твой код - наконец то он загачил))))))
ВСЕМ спасибо за помощь и участие, темма закрыта :o

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог