![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
XOR алгоритм
Denis_ © (2007-09-16 15:56:00)Несколько раз встречал здесь вопрос о таком методе шифрования, и стало интересно , как его реализовать.Как?
Сергей М. (2007-09-16 17:08:00) [81]
> Denis_ © (16.09.07 17:04) [3]
> при которых это работать не будет
Что такое "работать не будет" ?
OSokin (2007-09-16 17:08:00) [82]Так, но лучше бы сделать не по числу, а по строке:
function XOR_Algoritm(s : String;b : String):String;
var
i,a : Integer;
begin
Result:='';
for i:=1 to length(s) do
Result:=Result+Chr(Ord(s[i]) xor Ord(b[i mod Length(b) + 1]));
end;
Denis_ (2007-09-16 17:04:00) [83]{RASkov} © (16.09.07 16:10) [1]
Спасибо!
А чтобы зашифровать текст, надо так делать?
function XOR_Algoritm(s : String;b : Integer):String;
var
i,a : Integer;
begin
Result:='';
for i:=1 to length(s) do
Result:=Result+Chr(Ord(s[i]) xor b);
end;
Или нет?Я проверил, это работает, но вдруг есть моменты, при которых это работать не будет?
{RASkov} (2007-09-16 16:11:00) [84]расшифровка так же
т.е.:
Шифруем А ключем B
begin
A:=127;
B:=14;
A:=A xor B;
ShowMessage(IntToStr(A));
end;
Расшифровываем зашифрованную А
begin
A:=A xor B;
ShowMessage(IntToStr(A));
end;
{RASkov} (2007-09-16 16:10:00) [85]A = A xor B
B - ключ.
:) - примитив.