Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2011, 16:12   #1
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию Шифровка (delphi)

Уже сколько мучаюсь и хоть убейте не могу понять шифрование xor.Не могу построить расшифровку
CAMOBAP вне форума Ответить с цитированием
Старый 06.02.2011, 16:22   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Уже отвечали по-моему. По'xor'ьте еще раз.
p51x вне форума Ответить с цитированием
Старый 06.02.2011, 18:05   #3
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

вот собственно код.расшифровка происходит только частично
Код:
var
  Form1: TForm1;
  key, gex, longkey, result, fname : string;
  i : integer;
  toto, c : char;
  F : TextFile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
       //открытие
    if  not opendialog1.Execute then
    exit;
    fname:=opendialog1.FileName;
    AssignFile(F,fname);
    Reset(F);
    readln(F,gex);
    CloseFile(F);
    key:='1234';

    for i := 0 to (length(gex) div length(key)) do
    longkey := longkey + key;
    for i := 1 to length(gex) do
    begin
    toto := chr((ord(gex[i]) xor ord(longkey[i])));
    result := result + toto;
    end;

    memo1.text:=result;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     //сохранение
    key:='1234';
    gex:=memo1.text;

    for i := 0 to (length(gex) div length(key)) do
    longkey := longkey + key;
    for i := 1 to length(gex) do
    begin
    toto := chr((ord(gex[i]) xor ord(longkey[i])));
    result := result + toto;
    end;

    if  not savedialog1.Execute then
    exit;
    fname:=savedialog1.FileName;
    AssignFile(F,fname);
    Rewrite(F);
    writeln(F,result);
    CloseFile(F);

    end;

end.

Последний раз редактировалось CAMOBAP; 06.02.2011 в 18:08.
CAMOBAP вне форума Ответить с цитированием
Старый 07.02.2011, 13:42   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
    Reset(F);
    readln(F,gex);
.....
procedure TForm1.Button2Click(Sender: TObject);
begin
     //сохранение
    key:='1234';
    gex:=memo1.text;

.....
    AssignFile(F,fname);
    Rewrite(F);
    writeln(F,result);
CAMOBAP, я же Вам неоднократно говорил - забудьте Вы о строчках, когда используете XOR текста!

Да и вообще, используйте потоки для записи/чтения и будет Вам Счастье...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2011, 22:01   #5
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

поправил. только теперь расшифровывается и дописывание левые символы.
CAMOBAP вне форума Ответить с цитированием
Старый 07.02.2011, 22:40   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
поправил. только теперь расшифровывается и дописывание левые символы.
значит плохо поправили

давайте Ваш исходный код по записи - чтению, посмотрим, что в этот раз не так...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.02.2011, 19:44   #7
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

да собственно изменил только writeln на write. и также c read.по другому знаний не хватает сделать
CAMOBAP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифровка venomdanger Помощь студентам 1 23.12.2010 15:40
Pasсal шифровка 0479 Помощь студентам 1 13.09.2010 09:51
Шифровка файла. aleksandr278 Общие вопросы Delphi 10 25.03.2010 12:05
Шифровка Witaliy Общие вопросы Delphi 2 01.05.2008 21:18
Шифровка текста С++ deathsurgut Общие вопросы C/C++ 3 01.10.2007 18:58