C_C++

(C언어) XOR 비트 연산자를 이용한 암호화 복호화

고니자니 2023. 11. 27. 08:40
반응형

C언어의 비트 XOR(^) 연산자를 이용해서 간단하게 문자열을 암호화하고 다시 복호화 할 수 있습니다.

이 예에서는 간단한 대칭 키 알고리즘인 기본 XOR 암호화 알고리즘을 사용합니다.

 

이 예에서 xor_encrypt_decrypt 함수는 제공된 키를 사용하여 메시지의 각 문자에 대해 XOR 암호화 또는 복호화를 수행합니다. 

XOR 암호화는 대부분의 실제 응용 프로그램에서는 안전하지 않으며, 교육 목적으로만 사용하는 것이 좋습니다.

 

#include <stdio.h>
#include <string.h>

// Function to perform XOR encryption or decryption
void xor_encrypt_decrypt(char* message, char key) {
    size_t len = strlen(message);

    for (size_t i = 0; i < len; ++i) {
        message[i] = message[i] ^ key;
    }
}

int main() {
    char message[] = "Hello, World!";
    char key = 0x1A;  // Key for encryption/decryption

    printf("Original Message: %s\n", message);

    // Encrypt the message
    xor_encrypt_decrypt(message, key);
    printf("Encrypted Message: %s\n", message);

    // Decrypt the message
    xor_encrypt_decrypt(message, key);
    printf("Decrypted Message: %s\n", message);

    return 0;
}

(Output)

Original Message: Hello, World!
Encrypted Message: Rvvu6:Muhv~;
Decrypted Message: Hello, World!

(C언어) 비트 연산자를 이용한 암호화 복호화

반응형