Форум: "Основная";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
ВнизКодирование буфера Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c