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

Want to build a fantastic product using LLMs? I work at Granola where we're building the future IDE for knowledge work. Come and work with us! Read more or get in touch!

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