How to generate secrets in Python 3.6 and later

How to generate secrets in Python 3.6 and later

There are a lot of ways to generate random values. But some of them are not suitable for secret keys. There is a new module named secrets in version 3.6 and later. You can use the code below to generate cryptographically strong random values.

import secrets
secrets.token_hex()

This module will generate truly random values, not pseudo-random ones. Pseudo-random generators should be used only for simulation, not important random values or anything security related. You can use secrets for data such as passwords, security tokens, etc.

References

  1. https://docs.python.org/3/library/secrets.html