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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2013, 01:43   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Xor Delphi....

Вобщем нужно зашифровать содержимое Edit1.Text, как сделать это используя xor? Уже больше часа пробую ничего не получается, прошу помощи, спасибо.
FleXik вне форума Ответить с цитированием
Старый 25.03.2013, 01:47   #2
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

В чем проблема?
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 25.03.2013, 02:02   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
key:string;
i:integer;
begin
key:=Edit1.Text;
i:=StrToInt(Edit2.Text);
ShowMessage(chr(ord(key[i]) xor ord(i)));
end;

почему не пашет хз...
FleXik вне форума Ответить с цитированием
Старый 25.03.2013, 02:09   #4
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Брррр...
ord(i) - что Вы от этого ожидаете?
В Edit2 что? Шифрующий ключ? Если в качестве него используется какое-то фиксированное число, то надо делать xor с каждым символов исходной строки.
И не использовать ключ в качестве индекса в массиве, как тут key[i]..
Т.е. что-то вроде
Код:
str:string;
key:char;
i:integer;
begin
key := 'x';
for i:=0 to length (str) do
 showmessage ( chr (ord(str[i] xor key)));
end;
upd.
Или как там в делфи, я уж не помню.. Может надо key делать не char, а byte.. И цикл не с нуля, а с 1.
Типа
Код:
var
  str : string;
  key : byte;
  i : integer;
begin
str := Edit1.Text;
key := 90;
for i:=1 to length (str) do
 showmessage (chr (ord (str[i]) xor key));
end;
Μολὼν λαβέ

Последний раз редактировалось alexander13; 25.03.2013 в 02:16.
alexander13 вне форума Ответить с цитированием
Старый 25.03.2013, 02:24   #5
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
key:char;
i:integer;
begin
key := 'x';
s:=Edit1.Text;
for i:=0 to length (str) do
ShowMessage(chr(ord(s[i]) xor ord(key)));
end;
подправил, но я без понятия правильно работает или нет...
FleXik вне форума Ответить с цитированием
Старый 25.03.2013, 02:27   #6
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Говорю же, с 1 нумерация должна быть.
Я тоже без понятия, как она должна работать, т. к. задания не видел. А конкретно здесь осуществляется посимвольный xor. Только все это лучше куда-нибудь выводить, а не просто символы получившиеся показывать. Да и ключ шифрования можно сделать тоже в виде строки..
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 25.03.2013, 02:37   #7
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

alexander13, вроде разобрался спасибо вам большое за помощь, а как декодировать его в делфи? можно ли как-то?
FleXik вне форума Ответить с цитированием
Старый 25.03.2013, 02:40   #8
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Очевидно, повторив операцию.
Если вспомнить, что (a xor b) xor b = a, то повторив процедуру для зашифрованной строки с тем же ключом можно получить исходную строку.
Соответственно, если сделать xor между исходной строкой и зашифрованной строкой, то можно получить сам ключ шифрования.
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 25.03.2013, 02:42   #9
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

alexander13, спасибо еще раз.
FleXik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XOR (Delphi) Начинающий програм Помощь студентам 7 22.12.2012 06:52
c Xor frommars Общие вопросы C/C++ 4 03.10.2012 18:30
XOR для текста и бинарного потока (Delphi) Tomogochi Помощь студентам 13 18.05.2012 23:51
xor шифрование (delphi) CAMOBAP Помощь студентам 16 11.01.2011 00:02