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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2015, 01:46   #1
stim_7
Новичок
Джуниор
 
Регистрация: 31.03.2015
Сообщений: 1
По умолчанию Что выполняет данная процедура?

Что выполняет и за что отвечает данная процедура? Опишите, пожалуйста поподробнее) если можно
Код:
procedure SetKey (s: string);
var
i, x, bi: longword;
n: byte;
was: array [0..255] of byte;
a: array [1..16] of longword;
begin

x := 1;

s := copy(s, 1, 16);


for I := 0 to 255 do
was[i] := 0;


if length(s) < 16 then
begin
for I := 0 to 15 - length(s) do
s := s + s[(i mod length(s)) + 1];
end;


for I := 1 to 16 do
begin
a[i] := byte(s[I]);
x := (x * (x + 1) shr 1) + a[i];
end;


for I := 0 to 255 do
begin

repeat

a[(x mod 16) + 1] := (a[1] + a[2]) + ((a[3] - a[4]) xor
(a[5] shr (a[6] mod 8))) + (a[7] shl (a[8] mod 8)) +
(a[6] xor a[8]) xor ((a[5] + x) xor (a[7] + i)) +
(a[9] - a[10] + ((a[10] shl 6) xor (a[10] shr 11))) +
(a[12] + a[13]) + (a[14] xor a[15]) + (a[16] xor (a[16] * 9)) +
(a[1] + (a[1] xor x));

n := a[(x mod 16) + 1] and 255;
Inc(x);


until (was[n] = 0) and ((n <> i) or (i = 255));

if (n = i) and (i = 255) then
begin
x := stable[254];
stable[254] := n;
bstable[n] := 254;
n := x;
end;

was[n] := 1;

stable[i] := n;
bstable[n] := i;

end;

for I := 0 to 255 do
begin

if bstable[i] = 0 then
begin

end;

end;

end;

Последний раз редактировалось Stilet; 13.06.2015 в 07:10.
stim_7 вне форума Ответить с цитированием
Старый 13.06.2015, 02:25   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Единственное, что понятно - то, что в вот этих последних строках
Код:
for I := 0 to 255 do
 begin
   if bstable[i] = 0 then
     begin
     end;
 end;
не выполняется абсолютно ничего.
type_Oleg вне форума Ответить с цитированием
Старый 13.06.2015, 07:11   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На расчет контрольной суммы похоже...
А ты где сей код взял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Демонстрация фрактальной графики. Поле из одуванчиков. Напишите пожалуйста что выполняет каждая строчка и за что отвечает Viksa123 Паскаль, Turbo Pascal, PascalABC.NET 5 08.03.2015 10:47
что значит данная запись Alexandr- Помощь студентам 1 17.03.2013 10:15
Что выполняет данная функция на JS Rock'n'rolla JavaScript, Ajax 1 31.03.2010 09:56
Определить что выполняет данная программа anna_ Помощь студентам 2 17.12.2009 22:03
как работает данная процедура? fize Помощь студентам 5 14.12.2009 13:26