您好,最近我必须为 Model.User 中的每个用户生成一个随机且唯一的密码。
我曾尝试使用 Python 使用库random
和string
.
import random, string
pass = random.choice(string.ascii_uppercase + string.digits) for i in range(10)
但我认为这根本没有效率。
Django提供任何解决方案?
您好,最近我必须为 Model.User 中的每个用户生成一个随机且唯一的密码。
我曾尝试使用 Python 使用库random
和string
.
import random, string
pass = random.choice(string.ascii_uppercase + string.digits) for i in range(10)
但我认为这根本没有效率。
Django提供任何解决方案?
Django提供了解决问题的方法,研究和测试,我认为最安全和最有效的是Get Random String,因为字符串在返回之前是用sha-256算法加密的,这里有一些代码的例子。
我们可以传递我们想要的密码长度作为参数。
我们还可以将我们允许的字符作为参数传递,以便将它们组合起来。
Django 提供的另一个解决方案是Make Random Password,它允许你做同样的事情,但发生的情况是它没有加密它。导入 BaseUserManager 并接受参数
length
以及allowed_chars
允许的长度和字符。如果我们需要更强大的东西,Django 提供了Make Password,它可以直接将我们从纯文本转换为散列密码。