|
|
EnCryptTable: array [0..64-1] of byte;
function EnCryption (sour, dest: pbyte; asize: integer): Integer;
var
i, nblock: integer;
begin
PBYTE (integer(sour)+asize)^ := 0;
PBYTE (integer(sour)+asize+1)^ := 0;
PBYTE (integer(sour)+asize+2)^ := 0;
nblock := asize div 3;
if (asize mod 3) <> 0 then nblock := nblock + 1;
for i := 0 to nblock-1 do begin
Encoding4 (PBYTE (integer(sour)+i*3) , PBYTE(integer(dest)+i*4));
PBYTE (integer(dest)+i*4+0)^ := EncryptTable [ PBYTE (integer(dest)+i*4+0)^];
PBYTE (integer(dest)+i*4+1)^ := EncryptTable [ PBYTE (integer(dest)+i*4+1)^];
PBYTE (integer(dest)+i*4+2)^ := EncryptTable [ PBYTE (integer(dest)+i*4+2)^];
PBYTE (integer(dest)+i*4+3)^ := EncryptTable [ PBYTE (integer(dest)+i*4+3)^];
end;
PBYTE (integer(dest)+nblock*4)^ := 0;
Result := nblock*4;
end;
|
|