반응형
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_C++' 카테고리의 다른 글
(C++) 클래스 기초: 차량 정보 표현하기 (45) | 2023.12.03 |
---|---|
(C언어) qsort를 이용한 실수형 자료 정렬 (35) | 2023.12.01 |
(C언어) ltrim(), rtrim() 함수 구현: 문자열에서 앞쪽 뒤쪽 공백 제거 (1) | 2023.11.24 |
(C언어) trim() 함수 구현: 문자열에서 양쪽 공백 제거하기 (1) | 2023.11.24 |
(C언어) Caesar (시저, 카이사르) 암호화 복호화 (1) | 2023.11.19 |