Restrict RAND to producing 63 random bits

James openssl-users at natsuki.co.uk
Thu Jul 20 21:39:13 UTC 2023


An alternative using openssl

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

> 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: <https://mta.openssl.org/pipermail/openssl-users/attachments/20230720/b94c60cd/attachment.htm>


More information about the openssl-users mailing list