Python实现随机密码生成器
admin
2023-07-06 02:02:27
0

前言

运维过程中经常需要用到随机密码,例如服务器、Mysql、Redis等密码的设置,用随机密码会相对安全一点。这里使用Python来实现一个随机密码生成器

认识random模块

random模块可以从多个字符中随机先出一个字符,我们可以把所有数字放到一个字符串里,random.choice能够从中随机选出一个数字,如下

>>> import random
>>> random.choice('1234567890')
'9'
>>> random.choice('1234567890')
'2'

写个循环随机生成

假如我们需要生成30位随机密码,包含数字、大小写字母、特殊符号。我们可分为四种,然后随机生成并且放到列表里,程序如下:

import random
result = []
for i in range(0, 20):
  if i % 4 == 0:
      result.append(random.choice('1234567890'))
  if i % 4 == 1:
      result.append(random.choice('abcdefghijklmnopqrstuvwxyz'))
  if i % 4 == 2:
      result.append(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
  if i % 4 == 3:
      result.append(random.choice('!$%()+,-.:;>?@[]`{}'))
print("".join(result))

执行结果如下:

[root@devops root]# python /tmp/shijiange.py 
0iQ+3eC]5oA}0aJ@2mJ:
[root@devops root]# python /tmp/shijiange.py 
0qX>9cG-4pY`3tT.0gN`
[root@devops root]# python /tmp/shijiange.py 
1xN%3rG{6aA]0cD.2nL-
[root@devops root]# python /tmp/shijiange.py 
5jB]1xA]2yW,5vM:0bH%

把随机密码打乱

由于循环生成的密码,第一个是数字,第二个是小写字母,第三个是大写字母,第四个是字符。虽然比较复杂,但有点规律,我们可以把20个字母随机打乱。

import random
result = []
for i in range(0, 20):
  if i % 4 == 0:
      result.append(random.choice('1234567890'))
  if i % 4 == 1:
      result.append(random.choice('abcdefghijklmnopqrstuvwxyz'))
  if i % 4 == 2:
      result.append(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
  if i % 4 == 3:
      result.append(random.choice('!$%()+,-.:;>?@[]`{}'))
random.shuffle(result)
print("".join(result))

随机生成密码,运行结果如下,每次运行都生成随机密码:

[root@devops ~]# python /tmp/shijiange.py 
h37;XMo$w;lpAQ7:J.08
[root@devops ~]# python /tmp/shijiange.py 
1ptQ%8c:ED7C8[m$(7yD
[root@devops ~]# python /tmp/shijiange.py 
`ri0+(CwP3Wd0P}-4Yj2
[root@devops ~]# python /tmp/shijiange.py 
qLcJ-F2>)S0K11{fq$q8

相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...