Python实现随机密码生成器

发布时间:2020-07-02 10:42:27

来源:51CTO

阅读:839

作者:实践哥

前言

运维过程中经常需要用到随机密码,例如服务器、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

python随机密码生成代码大全_Python实现随机密码生成器相关推荐

  1. python画心形代码大全_Python代码合集看点 机器人算法、自动导航算法算法大全...

    导读:本文包含机器人算法.自动导航算法的Python代码合集.其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少.容易阅读,容易理解每个算法的基本思想.希望阅读本文后能对你有所帮助.文章来源 ...

  2. python海龟画图代码大全_python海龟库(turtle)中颜色的表示方法

    在python海龟库中,表示颜色的方法有很多,总体来讲共分成以下两类. 1. 用字符串表示颜色 在turtle库中,我们常常用颜色所对应的英文单词来直观的表示颜色. 例如:"red" ...

  3. python趣味编程代码大全_Python趣味编程 20行代码实现读心术

    秘读心术 这是一个吉卜赛人古老的神秘读心术,它能测算出你内心的感应.百试不爽,非常的可怕.在心中从10~99之间任意挑选一个数,用这个数先减去它自己的十位数再减去它的个位数,得到最终的数.在图表中找出 ...

  4. python你好世界代码大全_Python菜鸟入阶第二步(编写hello world小程序)

    现在开始编写一个俗不可耐的hello world小程序. 为什么说俗不可耐呢,因为程序员的第一个程序基本上都是hello world. 既然俗不可耐,为什么不编写其它的小程序呢,比如hello pre ...

  5. python程序编程代码大全,python编程代码详解

    大家好,本文将围绕python程序编程代码大全展开说明,python编程游戏代码是一个很多人都想弄明白的事情,想搞清楚python代码大全简单需要先了解以下几个事情. 1.python编程例子有哪些? ...

  6. Python自动生成代码 - 通过tkinter图形化操作生成代码框架

    Python自动生成代码 - 通过tkinter图形化操作生成代码框架 背景 脚本代码 Demo_CodeGenerator.py display.py FileHandler.py: 脚本运行结果: ...

  7. python随机生成大写字母_python随机生成大小写字母数字混合密码(仅20行代码)

    用简单的方法生成随机性较大的密码 仅用20行代码随机生成密码 核心思路:利用random模块 random模块随机生成数字,大小写字母,循环次数 while循环+随机生成的循环次数-->随机pl ...

  8. python随机生成密码字符串_Python随机生成带特殊字符的密码

    在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密 ...

  9. bat小游戏代码大全_Python打砖块小游戏源代码

    这次用Python实现的是一个接球打砖块的小游戏,最核心的就是:碰撞检测的数学模型 程序运行截图: 其实,编程问题到最后就是数学问题,这个游戏涉及到2D圆形与矩形的碰撞检测问题: 碰撞检测原理:通过找 ...

  10. python随机生成英文字符串_Python练习第六题,生成随机字母

    第六题:使用 Python 生成类似于下图中的字母验证码图片 1.思路:随机生成一位字母 参考文档string - 常用字符串操作stringstring.ascii_letters 小写字母 'ab ...

最新文章

  1. html怎么做半圆形按钮,css3做出半圆弧线
  2. 物理设计-如何存储日期类型
  3. C#中实现js中的eval函数功能
  4. android tcp socket框架_socket网络编程知识梳理,让你学会造轮子的能力
  5. java发送c语言结构体_C语言中结构体直接赋值?
  6. POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写...
  7. 006-JDK的安装测试
  8. httpSession和Cookie
  9. Android客户端和服务器端数据交互的第二种方法
  10. 几个月都没新增严重BUG,你测试组在干什么?
  11. [2018.07.26 T1] 航线规划
  12. 因特网、IPv9、5G及其挑战
  13. SSRS 2012 高级图表类型 -- 圆饼图
  14. iOS_基于百度地图的开发
  15. 银河麒麟安装达梦数据库
  16. 疑因内部宫斗被离职,中兴70后程序员从公司坠楼 ​​​​
  17. python wms系统源码_java开发的wms仓库管理系统源码(PC+Android)
  18. Flink-----Flink CDC 实现数据实时同步
  19. python numpy 二维数组reshape成三维数组
  20. Group Norm,Batch Norm,Layer Norm

热门文章

  1. php 图片后加参数缩图,智能的PHP缩图类
  2. java平方根函数_java程序中怎么调用平方根函数
  3. Android触摸屏校对,android实现触摸屏校准
  4. 高通平台msm8953 display子系统学习
  5. python excel 空值_Python/Excel/SPSS/SQL数据处理方法比较之4 - 空值处理
  6. 【数据结构】【范浩强treap】
  7. VBlog 纯前端博客 2018.5.15更新
  8. 汽车行业中SOP和PT是什么意思?
  9. 十行Python代码替换证件照背景颜色
  10. 高中计算机学业水平测试知识点总结,高中生物学业水平测试知识点总结