![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Код:
Try
MIn.LoadFromFile(Edit4.Text);
MOut.SetSize(MIn.Size);
Key1:=SpinEdit1.Value;
Key2:=SpinEdit2.Value;
Key3:=SpinEdit3.Value;
if MIn.Size = MOut.Size then
begin
pIn := MIn.Memory;
pOut := MOut.Memory;
for i := 1 to MIn.Size do
begin
pOut^ := pIn^ xor (Key3 shr 8);
Key3 := Byte(pIn^ + Key3) * Key1 + Key2;Мне нужно понять как три ключа в переменной, последними двумя строчками шифруются, как происходит этот процесс. И что обозначают: pOut^, pIn^. Последний раз редактировалось Admin, 26.06.2013 в 18:16. |
|
#2
|
||||
|
||||
|
Шифруется операцией xor, со сдвигом. Сам ключ на каждом шаге модифицируется.
^ - взять по указателю. |
| Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
djquins (27.06.2013)
| ||