生成随机密码
文章目录
密码不用想了,随机生成吧
有时候需要一些高复杂度的密码,比如在安全性要求较高的服务上注册一个账号,常规的密码会显得很弱。很多网站的账号注册也有密码强度的提示。怎么设计一个复杂的密码?
通常我们设置密码都使用熟悉的字符数字组合,一方面满足一定的复杂度,另一方面便于记忆。但很多时候,这样的组合方法并不是最强的,甚至是不合适。
我们谈复杂的密码实际是指密码的强度。密码强度越强,它被暴力破解或基于字典的猜测正确的概率越低,它和密码的长度和字符范围有关。
就从长度和字符范围这两点看,可以设计很复杂的密码以满足一些场景的使用。
chr
Python
中的一个内建函数,输入Unicode
的ordinal
(码位)返回对应的字符。它的范围在0 <= i <= 0x10ffff
ord
ord
也是Python
的内建函数,功能正好和chr
相反
考虑到可读和输入方便,接下来的例子选择Unicode
码位范围为33~127
。
1 | import random |
输出几个例子,长度都为20:
1 | 6cr#_+!D`LUy[3oV]h9d |
可以为 random
模块设定初始化随机种子。
1 | import random |
如果还需要更复杂的密码,可以把Unicode
码位范围设置更大和更长的密码长度。
此外过去在文章生成随机IP地址或地址集说过生成随机IP地址或CIDR地址即。
转载请包括本文地址:https://allenwind.github.io/blog/5785
更多文章请参考:https://allenwind.github.io/blog/archives/