Python's two modules for random numbers
What happened
Instead, in 2016, Python 3.6 added a second module: secrets . Python's random and secrets modules both include utilities for obtaining random values, but only one of them is suitable for generating passwords and security tokens.
For much of Python's history, random was used for passwords and tokens anyway, despite documentation that called it unsuitable for cryptography. In 2015, Python's core team debated whether to fix that misuse by making random secure by default. The random module is still misused at times, so it is instructive to look into how the random-number modules should be used.
Sources & evidence
- LWN.net Reporting source
[$] Python's two modules for random numbers ↗
https://lwn.net/Articles/1097468/