//po4a: entry man manual
// mcookie.1 --
// Public Domain 1995 Rickard E. Faith (faith@cs.unc.edu)
ifdef::neverdefined[---]

= mcookie(1)
:doctype: manpage
:man manual: User Commands
:man source: util-linux {release-version}
:page-layout: base
:command: mcookie

== NAME

mcookie - generate magic cookies for xauth

== SYNOPSIS

*mcookie* [options]

== DESCRIPTION

*mcookie* generates a 128-bit random hexadecimal number for use with the X authority system. Typical usage:

____
*xauth add :0 . `mcookie`*
____

The "random" number generated is actually the MD5 message digest of random information coming from one of the sources *getrandom*(2) system call, _/dev/urandom_, _/dev/random_, or the _libc pseudo-random functions_, in this preference order. See also the option *--file*.

== OPTIONS

*-f*, *--file* _file_::
Use this _file_ as an additional source of randomness (for example _/dev/urandom_). When _file_ is '-', characters are read from standard input.

*-m*, *--max-size* _number_::
Read from _file_ only this _number_ of bytes. This option is meant to be used when reading additional randomness from a file or device.
+
The _number_ argument may be followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB") or the suffixes KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB.

*-v*, *--verbose*::
Inform where randomness originated, with amount of entropy read from each source.

include::man-common/help-version.adoc[]

== FILES

_/dev/urandom_

_/dev/random_

== BUGS

It is assumed that none of the randomness sources will block.

== SEE ALSO

*md5sum*(1),
*X*(7),
*xauth*(1),
*rand*(3)

include::man-common/bugreports.adoc[]

include::man-common/footer.adoc[]

ifdef::translation[]
include::man-common/translation.adoc[]
endif::[]
