C_C++

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

고니자니 2025. 3. 27. 08:29
반응형

다음은 C 언어에서 비트 연산자를 이용한 간단한 문자열 암호화 및 복호화 예제입니다.
**XOR 연산 (^)**을 사용하여 암호화하고, 같은 연산을 다시 적용하여 원래 문자열을 복원하는 방식입니다.

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

#define KEY 0x5A // 암호화 키 (예: 0x5A = 90)

void encrypt_decrypt(char *str) {
    while (*str) {
        *str = *str ^ KEY; // XOR 연산 수행
        str++;
    }
}

int main() {
    char text[] = "Hello, C Programming!"; // 암호화할 문자열

    printf("원본 문자열: %s\n", text);

    // 암호화
    encrypt_decrypt(text);
    printf("암호화된 문자열: %s\n", text);

    // 복호화 (같은 함수 재사용)
    encrypt_decrypt(text);
    printf("복호화된 문자열: %s\n", text);

    return 0;
}

 

실행 결과

원본 문자열: Hello, C Programming!
암호화된 문자열: 7&&2%x8Z*%($8.""
복호화된 문자열: Hello, C Programming!

암호화,복호화

 

 

이 방식은 매우 간단한 대칭 키 암호화 기법으로, 기본적인 비트 연산의 활용을 보여줍니다.

 

 

반응형