#include #include void encrypt_block(void* data, uint8_t key){ uint8_t *typed_data = (uint8_t*)data; for(int i = 0; i < 4; i++){ typed_data[i] += key; } } // It'll encrypted void encrypt_data(void* data, uint8_t key, size_t datasize){ size_t offset = 0; while(offset < datasize){ encrypt_block(data + offset, key); offset += 4; } } int main(){ /* int plaintext; printf("Enter a number: "); scanf("%d", &plaintext); */ char plaintext[5]; char* pplaintext = plaintext; printf("Enter a string: "); scanf("%s", pplaintext); uint32_t entry; // same thing as unsigned char, 1 byte printf("Enter the key: "); scanf("%d", &entry); uint8_t key = entry; //printf("Encoding %d(%x) with key %d\n", plaintext, plaintext, key); printf("Encoding: %s(%x)\n", plaintext, *((uint32_t*)plaintext)); encrypt_data(plaintext, key, 4); printf("Encrypted: %s(%x)\n", plaintext, *((uint32_t*)plaintext)); return 0; }