Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function XOR_F(const AFileName: string; const AKey: string): boolean;
- var
- CopyBuffer: Pointer;
- TimeStamp, BytesCopied: Longint;
- Source, Dest: Integer;
- const
- ChunkSize : LongInt = 8192;
- begin
- GetMem(CopyBuffer, ChunkSize);
- try
- Source := FileOpen(AFileName, fmShareDenyWrite);
- if (Source < 0) then break;
- try
- Dest := FileCreate('xor_' + AFileName);
- if (Dest < 0) then break;
- try
- repeat
- BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize);
- if (BytesCopied > 0) then
- FileWrite(Dest, CopyBuffer^, BytesCopied);
- until BytesCopied < ChunkSize;
- finally
- FileClose(Dest);
- end;
- finally
- FileClose(Source);
- end;
- finally
- FreeMem(CopyBuffer);
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment