/********************************************************* * From C PROGRAMMING: A MODERN APPROACH, Second Edition * * By K. N. King * * Copyright (c) 2008, 1996 W. W. Norton & Company, Inc. * * All rights reserved. * * This program may be freely distributed for class use, * * provided that this copyright notice is retained. * *********************************************************/ /* xor.c (Chapter 20, page 515) */ /* Performs XOR encryption */ #include #include #define KEY '&' int main(void) { int orig_char, new_char; while ((orig_char = getchar()) != EOF) { new_char = orig_char ^ KEY; if (isprint(orig_char) && isprint(new_char)) putchar(new_char); else putchar(orig_char); } return 0; }