파일이 크다고 가정하면 쫌 쓰기 어려운 형태가 아닐런지..
Steam으로 읽어서 처리하면 좋겠군요. 델파이 zlib에 있는 TCompressionStream, TDecompressionStream 처럼요..
아니면 Block으로 읽어서 처리할 수 있게 파라미터에 길이를 넣어주던가.
function EnCODE(const S: PChar; InLen:Cardinal; Key: Word; out Encoded: PChar; out Len: Cardinal): Boolean;
function DeCODE(const S: PChar; InLen:Cardinal; Key: Word; out Decoded: PChar; out Len: Cardinal): Boolean;
string을 이용한다면 그대로 가능하긴 하겠네요.. 아무래도 이 방법이 델파이 스러운건 아닐지.. 위에건 너무 C 스러워서..
function EnCODE(const S: AnsiString ; Key: Word): AnsiString; //암호걸기
function DeCODE(const S: AnsiString ; Key: Word): AnsiString; //암호풀기
참... 원함수는 일반 TEXT는 잘 되겠지만 Binary는 잘 안될 수 도 있습니다. PChar에서 종료를 처리하는 NULL(0)이 바이너리에는 들어갈 수 있으니깐요.
|