.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sat Jul 24 18:54:45 1993 by Rik Faith (faith@cs.unc.edu)
.TH MEMFROB 3  2010-09-10 "GNU" "Linux Programmer's Manual"
.SH NAME
memfrob \- frobnicate (encrypt) a memory area
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" "             /* See feature_test_macros(7) */"
.B #include <string.h>
.sp
.BI "void *memfrob(void *" s ", size_t " n );
.fi
.SH DESCRIPTION
The
.BR memfrob ()
function encrypts the first \fIn\fP bytes of the
memory area \fIs\fP by exclusive-ORing each character with the number
42.
The effect can be reversed by using
.BR memfrob ()
on the
encrypted memory area.
.PP
Note that this function is not a proper encryption routine as the XOR
constant is fixed, and is only suitable for hiding strings.
.SH "RETURN VALUE"
The
.BR memfrob ()
function returns a pointer to the encrypted memory
area.
.SH "CONFORMING TO"
The
.BR memfrob ()
function is unique to the
GNU C Library.
.SH "SEE ALSO"
.BR strfry (3)
