How to use XOR Encryption (XOR Cipher) to encrypt and decrypt text in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char* XORCipher(char* str, char* key, int slen) {
	char* output = (char*)malloc(sizeof(char) * slen + 1);

	int keylen = strlen(key);
	for (int i = 0; i < slen; ++i) {
		output[i] = str[i] ^ key[i % keylen];
	}
    output[slen] = 0;

	return output;
}

int main(void)
{
    char str[] = "C Programming Language";
    char key[] = "secretkey";

    int slen = strlen(str);

    char* cipherText = XORCipher(str, key, slen);
    puts(cipherText);

    char* decryptText = XORCipher(cipherText, key, slen);
    puts(decryptText);

    free(cipherText);
    free(decryptText);
}





/*
run:

0E3
C Programming Language

*/

 



answered Jan 19, 2023 by avibootz
...