Twilio - 生成6位数的随机数

use*_*619 2 python django twilio

我计划在我的Django应用程序中集成twilio进行双因素身份验证.

现在,我已经安装了twilio python模块并向我的号码发送了一些随机消息.

下一步是我发送一些随机的6位数字,这些数字是在银行应用程序或谷歌双因素身份验证中完成的.

如何在我的DJango应用程序中生成这些数字?

Moh*_*adi 8

除了马蒂亚斯的答案(我赞成他的回答); Django为此提供了一个快捷方式:

from django.utils.crypto import get_random_string

get_random_string(length=6, allowed_chars='1234567890')
Run Code Online (Sandbox Code Playgroud)

哪个更具可读性和难忘性.

而且如果你真的关心这个字符串的随机性,你可能想要使用pycrypto中的随机模块,因为编程语言中随机函数的标准库实现对于加密和安全相关的问题来说不是"随机"的.


Mat*_*ias 5

您可以使用它random.choice来确定每个数字.choice将给出给定序列中的一个元素.

代码可能如下所示:

import random
pin = ''.join(random.choice('0123456789') for _ in range(6))
Run Code Online (Sandbox Code Playgroud)