Redfern_89

xxx.pas

Nov 5th, 2019
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.78 KB | None | 0 0
  1. function XOR_F(const AFileName: string; const AKey: string): boolean;
  2. var
  3.   CopyBuffer: Pointer;
  4.   TimeStamp, BytesCopied: Longint;
  5.   Source, Dest: Integer;
  6. const
  7.   ChunkSize : LongInt = 8192;
  8. begin
  9.   GetMem(CopyBuffer, ChunkSize);
  10.   try
  11.     Source := FileOpen(AFileName, fmShareDenyWrite);
  12.     if (Source < 0) then break;
  13.     try
  14.       Dest := FileCreate('xor_' + AFileName);
  15.       if (Dest < 0) then break;
  16.       try
  17.         repeat
  18.           BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize);
  19.           if (BytesCopied > 0) then
  20.             FileWrite(Dest, CopyBuffer^, BytesCopied);
  21.         until BytesCopied < ChunkSize;
  22.       finally
  23.         FileClose(Dest);
  24.       end;
  25.     finally
  26.       FileClose(Source);
  27.     end;
  28.   finally
  29.     FreeMem(CopyBuffer);
  30.   end;
  31. end;
Advertisement
Add Comment
Please, Sign In to add comment