Next: , Previous: strfry, Up: String and Array Utilities


5.10 Trivial Encryption

The memfrob function converts an array of data to something unrecognizable and back again. It is not encryption in its usual sense since it is easy for someone to convert the encrypted data back to clear text. The transformation is analogous to Usenet's “Rot13” encryption method for obscuring offensive jokes from sensitive eyes and such. Unlike Rot13, memfrob works on arbitrary binary data, not just text. For true encryption, See Cryptographic Functions.

This function is declared in string.h.

— Function: void * memfrob (void *mem, size_t length)

memfrob transforms (frobnicates) each byte of the data structure at mem, which is length bytes long, by bitwise exclusive oring it with binary 00101010. It does the transformation in place and its return value is always mem.

Note that memfrob a second time on the same data structure returns it to its original state.

This is a good function for hiding information from someone who doesn't want to see it or doesn't want to see it very much. To really prevent people from retrieving the information, use stronger encryption such as that described in See Cryptographic Functions.

Portability Note: This function is unique to the GNU C library.