Вниз
Скачать: CL | DM;

Кодирование буфера   Найти похожие ветки 

← →
WandR   (2005-11-30 21:43) [0]

Задача переделать функции кодирования и декодирования алгоритма rc6 для обработки буфера(заранее неизвестно что у меня будет), и потом записать результат в stream.
В rc6 кодируется блоками по 16 байт, мне нужно из буфера поочередно брать 16 байт и кодировать но как это сделать?? Я пробовал Move(SourseBuffer,Buffer, BlockSize); но это явно не то…

Код:

function EncryptBuffer(DestStream: TStream; const SourseBuffer;
Count: Longint; Key: string): Boolean;
var
Buffer   : TRC6Block;
PrCount  : Int64;
AddCount : Byte;
begin
Result := True;
try
if Key = "" then
 begin
  DestStream.WriteBuffer(SourseBuffer, Count);
  Exit;
 end;
Initialize(Key);
CalculateSubKeys;

PrCount := 0;
while Count - PrCount >= BlockSize do
 begin
  Move(SourseBuffer,Buffer, BlockSize);
  EncipherBlock(Buffer);
  DestStream.Write(Buffer, BlockSize);
  Inc(PrCount, BlockSize);
 end;

 AddCount := Count - PrCount;
 if Count - PrCount <> 0 then
  begin
   DestStream.Write(SourseBuffer, AddCount);
  end;

except
Result := False;
end;
end;


← →
WandR   (2005-12-01 10:00) [1]

???



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.032 c
2-1134365940
MiraJ
2005-12-12 08:39
2005.12.25
поиск в HTML


14-1133468035
Lamer@fools.ua
2005-12-01 23:13
2005.12.25
М-да уж :/


2-1133774001
Long
2005-12-05 12:13
2005.12.25
Создание компонента по его имени


2-1133939778
Daria
2005-12-07 10:16
2005.12.25
Дабовить запись в БД (Paradox)


14-1133423503
Mike Kouzmine
2005-12-01 10:51
2005.12.25
Новая победа демократии




   Наверх