#include #include #include #include union intandstring { char *as_char; int *as_int; }; int main(int argc, char ** argv){ if(argc < 3){ printf("Usage: %s key string\n", argv[0]); return 1; } printf("About to encrypt: %s\n", argv[2]); /* For each 4-byte section: * Add the key * move on (nothing more to do) */ int key = atoi(argv[1]); int len = strlen(argv[2]); union intandstring data; data.as_char = argv[2]; // From this point on, we don't refer to argv for(int i = 0; i < len/4; i++) data.as_int[i] += key; write(1, data.as_char, len); return 0; }