首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成6位随机数

生成6位随机数
EN

Stack Overflow用户
提问于 2016-10-21 14:38:44
回答 5查看 5.3K关注 0票数 3

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

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

下一步是让我发送一些随机的6位数字,这是在银行应用程序或谷歌双因素认证。

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-10-28 18:09:17

两位开发人员在这里传道。

有一些很好的答案可以帮助你生成一个随机的6位串,但是我只想再加一个建议。

奥西是Twilio的一部分,并作为服务提供双因素身份验证。它支持通过短信(通过Twilio)发送代码,在Authy应用中生成代码,甚至支持双因素身份验证,而无需将代码从应用程序/短消息复制到您的奥西OneTouch登录屏幕。您只需3个API调用就可以实现整个2FA流。

有一个关于如何将Authy与酒瓶结合使用的教程,我相信你可以把它翻译成Django。

如果这对我有帮助,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2016-10-21 18:07:45

除了Matthias的答案(我对他的回答投了反对票)之外,Django还为此提供了一个快捷函数:

代码语言:javascript
复制
from django.utils.crypto import get_random_string

get_random_string(length=6, allowed_chars='1234567890')

更加可读的和难忘的。

而且,如果您真的关心这个字符串的随机性,您可能想要使用pycrypto的随机模,因为在编程语言中,随机函数的标准库实现不足以满足密码和安全相关问题的“随机性”。

票数 11
EN

Stack Overflow用户

发布于 2016-10-21 14:45:07

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

代码可以如下所示:

代码语言:javascript
复制
import random
pin = ''.join(random.choice('0123456789') for _ in range(6))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40179469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档