首页 > 解决方案 > 如何确保 RNG 熵池对于使用 passlib 生成密码是“安全且完整的”?

问题描述

在查看使用 Python 的 passlib 模块时,文档 [1] 带有生成密码的警告,内容为..

警告:在使用这些例程之前,请确保您系统的 RNG 熵池是安全且已满的。还要确保使用足够高的熵参数调用 genword() 或 genphrase() 以达到密码的预期目的。

然而,它没有提到这是如何实现的。在实践中,我的理解是熵池会逐渐填充,通常是通过键盘/鼠标输入,但是对于无头服务器来说,这是如何实现的,以及在调用 genword/genphrase 函数之前如何确保它是安全/完整的?

[1] https://passlib.readthedocs.io/en/stable/lib/passlib.pwd.html

标签: pythonpasswordsentropypasslib

解决方案


在 Linux 上: cat /proc/sys/kernel/random/entropy_avail

$ cat /proc/sys/kernel/random/entropy_avail

3590

上限是 4096,任何接近这个都可以

低于200不好。

请参阅:https ://blog.cloudflare.com/ensuring-randomness-with-linuxs-random-number-generator/


推荐阅读