python随机密码生成10个8位密码_生成8位随机密码脚本

这里提供三个生成随机密码的脚本,两个是shell脚本,一个是python脚本。

先来看第一个shell脚本:

1 [root@sv7 ~]# vim suiji.sh

脚本内容:

#!/bin/bash

tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 8

echo //echo后不是没有内容,而是一个空格。目的是让随机密码和[root@sv7 ~]#折行。具体执行效果下面有演示。

注释:/dev/urandom是linux内置的随机设备文件,文件内容太随机,而且包含很多特殊字符。 tr -dc 'A-Za-z0-9' < /dev/urandom这个命令可以将随机文件中其它字符删除,只保留大小写字母和数字,这就定义了随机密码的取值范围。然后交给管道处理,在大量数据中只取前面8个字节。

[root@sv7 ~]# chmod +x suiji.sh //赋予执行权限

没有添加echo 的执行结果:

[root@sv7 ~]# ./suiji.sh

lqUYG3km[root@sv7 ~]#

完整的输出结果:

[root@sv7 ~]# ./suiji.sh

hoQfMCI6

2 传统类型shell 脚本

[root@sv7 ~]# vim suijimima.sh

脚本内容:

#!/bin/bash

x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" //定义取值范围

pass=' ' //定义pass初始值为空

for i in {1..8}

do

n=$[RANDOM%62] //随机数取余,值<62,范围是(0-61)

y=${x:$n:1} //取62个数字中随机一位

pass=${pass}$y //取出的值排列在初始值为空的pass的后面

done

echo $pass

[root@sv7 ~]# chmod +x suijimima.sh //赋予执行权限

执行结果:

[root@sv7 ~]# ./suijimima.sh

0g0dkM3C

3python编写脚本

#!/usr/bin/python

#coding:utf-8

import string //引入模块,定义取值范围

import random //引入随机数模块,调用其中随机取值模块

passwd=''

x=string.letters+string.digits //定义密码取值范围是字母+数字

for i in range(8):

tmp=random.choice(x)

passwd=passwd+tmp

print passwd

执行效果

/usr/bin/python2.7 /root/PycharmProjects/xxx/suijimima.py

7oa6Uhpw

Process finished with exit code 0

在这三个版中,还是比较喜欢第一个。在linux中要达到同样效果,命令(代码)越精简越好。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值