You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
861 B
36 lines
861 B
/* mcookie - generate a 128-bit random number (used for X "magic cookies")
|
|
*
|
|
* Copyright 2019 AD Isaac Dunham <ibid.ag@gmail.com>
|
|
*
|
|
* No standard.
|
|
*
|
|
* -f and -m are not supported: md5sums of arbitrary files are not a good
|
|
* source of entropy, just ask the system for 128 bits and print it.
|
|
|
|
USE_MCOOKIE(NEWTOY(mcookie, "v(verbose)V(version)", TOYFLAG_USR|TOYFLAG_BIN))
|
|
|
|
config MCOOKIE
|
|
bool "mcookie"
|
|
default y
|
|
help
|
|
usage: mcookie [-vV]
|
|
|
|
Generate a 128-bit strong random number.
|
|
|
|
-v show entropy source (verbose)
|
|
-V show version
|
|
*/
|
|
|
|
#define FOR_mcookie
|
|
#include "toys.h"
|
|
|
|
void mcookie_main(void)
|
|
{
|
|
long long *ll = (void *)toybuf;
|
|
|
|
if (FLAG(V)) return (void)puts("mcookie from toybox");
|
|
xgetrandom(toybuf, 16, 0);
|
|
if (FLAG(v)) fputs("Got 16 bytes from xgetrandom()\n", stderr);
|
|
xprintf("%016llx%06llx\n", ll[0], ll[1]);
|
|
}
|