Python 3.6 为账号和密码安全添加了新的 secrets 模块

2017 年 7 月 11 日 Python程序员

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

Python 3.6 是 Python 语言主要的最新版本,它增加了一个新的模块 secrets,这个模块用来产生强加密的随机数来管理一些秘密信息,例如 账号认证,令牌以及相关的私密信息。相比于默认的伪随机数产生器模块 random,Python 开发者很可能会更加喜欢 secrets 模块,因为它不仅意味着加密与安全,还可以用来做建模与仿真。

下面让我们使用一个例子说明一下,如何使用 secrets 模块来产生强加密的伪随机数和令牌。

如何使用 secrets 来产生强加密的伪随机数


首先需要载入 secrets 模块与 string 模块。然后我们产生一个由大小写字母和数字组成的字符串。现在,我们使用 secrets 模块的 choice() 方法来随机抽取字符以产生密钥。因为这个密钥是使用字母与数字的混合形式,所以人们认为这个密钥是安全的。同时也强烈推荐大家使用这种字母和数字混合的形式来保护你的密码,防止黑客的攻击。

如何使用 secrets 模块产生令牌

secrets 模块有好几种方法来产生令牌,下面简单介绍几个使用 secrets 模块产生令牌的例子来帮助理解。

token_bytes 函数来产生一个含有 n 个字节的随机字节串。当没有指定或者使用 n 的时候,程序会自动使用一个合理的默认值。在第一个例子中,没有指定字节数,因此 python 会自动选择一个合理的数。在第二个例子中,我们再次使用了 token_bytes 函数,并指定其字节数为 8。接下来的例子中使用的是 token_hex 函数来产生一个随机的十六进制的文本字符串。在最后的例子中,使用 token_urlsafe 函数来返回一个随机的 URL 安全文本字符串。人们使用 Base64 来编码文本字符串。

对于令牌,应该使用多少字节的数?

你应该使用足够多的随机字符来加密你的令牌以应对暴力攻击。 建议最少使用 32 字节(256 比特)的随机字符来保护你的令牌以防止漏洞。

Python 开发者社区将把 secrets 模块作为 Python 3.6 的一个重要补充,使用 Python 3.6 的开发者现在拥有了一个可靠的方式来产生强加密的令牌和密钥。

对于Python 3.6 添加 secrets 模块你有什么看法呢?你想尝试使用 secrets 模块来产生你的令牌和密钥吗? 请在下面的评论区分享你的观点。


英文原文:http://evontech.com/what-we-are-saying/entry/python-36-adds-new-secrets-module-for-robust-account-and-password-security.html
译者:无


登录查看更多
0

相关内容

【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
195+阅读 · 2020年6月29日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
236+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
Transformer文本分类代码
专知会员服务
117+阅读 · 2020年2月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
181+阅读 · 2020年1月1日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
85+阅读 · 2019年12月27日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
88+阅读 · 2019年11月25日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
已删除
AI掘金志
7+阅读 · 2019年7月8日
将Python用于NLP:Pattern 库简介
Python程序员
15+阅读 · 2019年6月7日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
7+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2017年11月14日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
195+阅读 · 2020年6月29日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
236+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
Transformer文本分类代码
专知会员服务
117+阅读 · 2020年2月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
181+阅读 · 2020年1月1日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
85+阅读 · 2019年12月27日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
88+阅读 · 2019年11月25日
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
已删除
AI掘金志
7+阅读 · 2019年7月8日
将Python用于NLP:Pattern 库简介
Python程序员
15+阅读 · 2019年6月7日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Top
微信扫码咨询专知VIP会员