How to use XOR Encryption (XOR Cipher) to encryption a string in C

1 Answer

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

char* XOREncryption(char* s, char* key, int slen) {
	char* result = (char *)malloc(sizeof(char) * slen + 1);

    int keyLen = strlen(key);
	for (int i = 0; i < slen; i++) {
		result[i] = s[i] ^ key[i % keyLen];
	}
    result[slen] = 0;

	return result;
}

int main(void) {
    char* s = "C is a general-purpose, procedural computer programming language";
    char* key = "secretkey";

    int slen = strlen(s);

    char* cipher = XOREncryption(s, key, slen);
    puts(cipher);

    char* noncipher = XOREncryption(cipher, key, slen);
    puts(noncipher);

    free(cipher);
    free(noncipher);

    return 0;
}




/*
run:

0E
☺E§K☻∟↔
C is a general-purpose, procedural computer programming language

*/

 



answered Dec 31, 2021 by avibootz
edited Jan 19, 2023 by avibootz
...