[c언어] 파일 암호화 및 복호화
이번 포스트에서는 C 언어를 사용하여 파일을 암호화하고 복호화하는 방법에 대해 알아보겠습니다.
암호화
파일을 암호화하는 가장 간단한 방법 중 하나는 각 바이트를 특정한 값을 더하거나 뺌으로써 바꾸는 것입니다. 이를 통해 파일을 쉽게 암호화할 수 있습니다.
#include <stdio.h>
void encryptFile(FILE *inputFile, FILE *outputFile, char key) {
int ch;
while ((ch = fgetc(inputFile)) != EOF) {
fputc(ch + key, outputFile);
}
}
int main() {
FILE *inputFile = fopen("plain.txt", "rb");
FILE *outputFile = fopen("encrypted.txt", "wb");
char key = '5'; // 암호화 키
encryptFile(inputFile, outputFile, key);
fclose(inputFile);
fclose(outputFile);
return 0;
}
이 코드는 plain.txt
파일을 읽어서 각 바이트에 암호화 키를 더한 뒤 encrypted.txt
파일에 씁니다.
복호화
암호화된 파일을 복호화하는 것도 암호화와 비슷한 방식으로 수행할 수 있습니다.
void decryptFile(FILE *inputFile, FILE *outputFile, char key) {
int ch;
while ((ch = fgetc(inputFile)) != EOF) {
fputc(ch - key, outputFile);
}
}
int main() {
FILE *inputFile = fopen("encrypted.txt", "rb");
FILE *outputFile = fopen("decrypted.txt", "wb");
char key = '5'; // 복호화 키
decryptFile(inputFile, outputFile, key);
fclose(inputFile);
fclose(outputFile);
return 0;
}
이 코드는 암호화된 encrypted.txt
파일을 읽어서 암호화 키를 빼고 decrypted.txt
파일에 씁니다.
마무리
이러한 간단한 파일 암호화 및 복호화 방법은 보안에 취약할 수 있으므로 실제 개발 시에는 안전한 암호화 알고리즘을 사용하는 것이 좋습니다.