![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
сложность в следующем: решил дополнить программку которая шифрует и дешифрует текст в окне Edit1 следующим: возможность перебора всех возможных значений ключа(их всего 255 тип то byte!) и отображала бы результаты применения каждого ключа к зашифрованной строке в окне Memo1. запутался с несоответствием типов
Код:
function CodeDecode(S:string;Key:byte):string;
var i,L,K:word;
var j:byte;
begin
L:=Length(S);
for i:=1 to L do
begin
S[i]:=Chr(Ord(S[i]) xor Key);
end;
for j:=0 to 255 do //все возможные ключи
begin
K:=StrToInt(S) xor j;
Form1.Memo1.Lines.Add(IntToStr(K));
end;
Result:=(S);
end;
procedure TForm1.Button1Click(Sender: TObject); //шифрует и дешифрует(при повторном нажатии )
begin
Edit1.Text:=CodeDecode((Edit1.Text),10);
end;Последний раз редактировалось Admin, 08.11.2012 в 15:42. |
|
#2
|
|||
|
|||
|
Отдели мух от котлет
Код:
function CodeDecode(S:string;Key:byte):string; // кодирование
var i,L:word;
begin
L:=Length(S);
Result:='';
SetLength(Result,L);
for i:=1 to L do
begin
Result[i]:=Chr(Ord(S[i]) xor Key);
end;
end;
procedure Perebor(S:string);// подбор
var j:byte;
begin
for j:=0 to 255 do //все возможные ключи
begin
Form1.Memo1.Lines.Add(IntToStr(j)+' '+CodeDecode(S,j));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
//шифрует и дешифрует(при повторном нажатии )
begin
//Edit1.Text:=CodeDecode((Edit1.Text),10);
Perebor(Edit1.Text);
end; |
| Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
Black_Bear (08.11.2012)
| ||
|
#3
|
|||
|
|||
|
Благодарю за помощь!
|