How do I generate random bytes with openssl?

Another command in openssl is rand. We invoke it like this:

$ openssl rand -hex 10
aa27660aa7e186902981

Here, 10 indicates the number of random bytes to print to standard out. -hex prints those bytes in hex format - 2 characters per byte, so 20 characters.

The output comes from a PRNG. The PRNG is seeded with, amongst other randomness sources, a file at ~/.rnd. This file contains random bytes:

$ cat ~/.rnd
33k�ɱ��%�*��#Yn�� ]w$Lkn���M|cW@9%V
...

OpenSSL apparently uses this location to store previously-gathered entropy. You can delete it at any time without any ill effects.

Tagged #openssl, #tls, #cryptography, #security, #programming, #random-numbers, #cli.
👋 I'm Jim, a full-stack product engineer. Want to build an amazing product and a profitable business? Read more about me or Get in touch!

More by Jim

This page copyright James Fisher 2017. Content is not associated with my employer. Found an error? Edit this page.