Restrict RAND to producing 63 random bits

James openssl-users at
Thu Jul 20 21:39:13 UTC 2023

An alternative using openssl

$ printf "%016X\n" $((16#$(openssl rand -hex 8) & 0x7fffffffffffffff))

> To get the leading zeros so it will generate an 8-byte serial number, I added:
> printf "%016X\n" $(shuf -rn 1 -i 1-9223372036854775807 --random-source=/dev/urandom)
> an example output is:
> 0E12E1A664C30AE1
> I had to run it a couple dozen times before it generated a small enough value to need to pad it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openssl-users mailing list