generate magic cookies for xauth


Generate a random number

$ mcookie

Generate a random number, using the contents of a file as a seed for the randomness

$ mcookie --file [path/to/file]

Generate a random number, using a specific number of bytes from a file as a seed for the randomness

$ mcookie --file [path/to/file] --max-size [number_of_bytes]

Print the details of the randomness used, such as the origin and seed for each source

$ mcookie --verbose


mcookie [options]


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() system call, /dev/urandom, /dev/random, or the libc pseudo-random functions, in this preference order. See also the option --file.


-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.

-V, --version

Display version information and exit.

-h, --help

Display help text and exit.




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


The mcookie command is part of the util-linux package and is available from Linux Kernel Archive.


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

Copied to clipboard
Dodo Farming