#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
void XORCipher(char* data, const char* key, int dataLen, int keyLen, char* output) {
for (int i = 0; i < dataLen; ++i) {
output[i] = data[i] ^ key[i % keyLen];
}
output[dataLen] = '\0';
}
int main(void)
{
char text[] = "This is a house.";
char key[] = "123456";
int dataLen = strlen(text);
int keyLen = strlen(key);
// ¾ÏÈ£È °á°ú¿Í º¹È£È °á°ú¸¦ ´ãÀ» ¹öÆÛ
char cipherText[100]; // ÃæºÐÈ÷ Å« Å©±â·Î ¼±¾ð
char plainText[100];
XORCipher(text, key, dataLen, keyLen, cipherText);
XORCipher(cipherText, key, dataLen, keyLen, plainText);
printf("¾ÏÈ£È ÀüÀÇ ¹®ÀÚ¿=%s\n", text);
printf("¾ÏÈ£È Å°=%s\n", key);
printf("¾ÏÈ£È ÈÄÀÇ ¹®ÀÚ¿=%s\n", cipherText);
printf("º¹È£È ÈÄÀÇ ¹®ÀÚ¿=%s\n", plainText);
return 0;
}