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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 11:19   #1
sanya_oz
 
Регистрация: 20.04.2009
Сообщений: 9
По умолчанию что выполняет код

Подскажите что выполняет данный код ?
Код:
procedure des_key_parity_adjust(PByte key; byte len)
var
	i, j, parity: byte;
begin
	for i = 0 to len-1 do
	begin
		parity := 1;
		for j := 1 to 7 do
			if ((key[i] shr j) and $01)
				parity := not parity and $01;
		key[i] := key[i] or parity;
	end;
end;

Pbyte des_key_spread(normal: array of byte);
var
	spread: array[0..15] of byte;
begin
spread[ 0] := normal[ 0] and $fe;
spread[ 1] := ((normal[ 0] shr 7) or (normal[ 1] shl 1)) and $fe;
spread[ 2] := ((normal[ 1] shr 6) or (normal[ 2] shl 2)) and $fe;
spread[ 3] := ((normal[ 2] shr 5) or (normal[ 3] shl 3)) and $fe;
spread[ 4] := ((normal[ 3] shr 4) or (normal[ 4] shl 4)) and $fe;
spread[ 5] := ((normal[ 4] shr 3) or (normal[ 5] shl 5)) and $fe;
spread[ 6] := ((normal[ 5] shr 2) or (normal[ 6] shl 6)) and $fe;
spread[ 7] := normal[ 6] shr 1;
spread[ 8] := normal[ 7] and $fe;
spread[ 9] := ((normal[ 7] shr 7) or (normal[ 8] shl 1)) and $fe;
spread[10] := ((normal[ 8] shr 6) or (normal[ 9] shl 2)) and $fe;
spread[11] := ((normal[ 9] shr 5) or (normal[10] shl 3)) and $fe;
spread[12] := ((normal[10] shr 4) or (normal[11] shl 4)) and $fe;
spread[13] := ((normal[11] shr 3) or (normal[12] shl 5)) and $fe;
spread[14] := ((normal[12] shr 2) or (normal[13] shl 6)) and $fe;
spread[15] := normal[13] shr 1;
des_key_parity_adjust(spread, 16);
Result := spread;
end;
sanya_oz вне форума Ответить с цитированием
Старый 23.04.2009, 11:30   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Часть алгоритма шифрования DES
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 23.04.2009, 12:02   #3
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Подскажите, что выполняет данный код?
Код:
> Format C:
Ладно, шучу!
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, выполняет дочерний процесс IgorArhangel Помощь студентам 3 24.01.2009 23:12
КНОПКА ВЫПОЛНЯЕТ JS. Как ЕЕ НАЖАТЬ? Yuran Работа с сетью в Delphi 1 21.05.2008 10:05
Структуры. Как сделать, что-бы код заработал? Иллидан Общие вопросы C/C++ 1 19.05.2008 13:19