Вниз
Скачать: 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.024 c
3-1131019475
DelphiLexx
2005-11-03 15:04
2005.12.25
Подтвердить транзакцию в процедуре


2-1133856902
Alex7
2005-12-06 11:15
2005.12.25
операция "in"


3-1130927746
SergP.
2005-11-02 13:35
2005.12.25
Не работает запрос..


2-1134056722
Grant
2005-12-08 18:45
2005.12.25
Размер формы


6-1126365368
Express
2005-09-10 19:16
2005.12.25
Socket




   Наверх