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.

Similar posts

More by Jim

👋 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!

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