生成8位随机密码脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成8位随机密码脚本相关的知识,希望对你有一定的参考价值。

这里提供三个生成随机密码的脚本,两个是shell脚本,一个是python脚本。
先来看第一个shell脚本:
1 [[email protected] ~]# vim suiji.sh
脚本内容:
#!/bin/bash
tr -dc ‘A-Za-z0-9‘ < /dev/urandom | head -c 8
echo //echo后不是没有内容,而是一个空格。目的是让随机密码和[[email protected] ~]#折行。具体执行效果下面有演示。

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

[[email protected] ~]# chmod +x suiji.sh //赋予执行权限
没有添加echo 的执行结果:
[[email protected] ~]# ./suiji.sh
lqUYG3km[[email protected] ~]#
完整的输出结果:
[[email protected] ~]# ./suiji.sh
hoQfMCI6

2 传统类型shell 脚本
[[email protected] ~]# 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
[[email protected] ~]# chmod +x suijimima.sh //赋予执行权限
执行结果:
[[email protected] ~]# ./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中要达到同样效果,命令(代码)越精简越好。

以上是关于生成8位随机密码脚本的主要内容,如果未能解决你的问题,请参考以下文章

随机生成一个6/8/12位密码,数字加字母的密码

shell脚本,批量创建10个系统帐号并设置密码为随机8位字符串。

随机生成密码,长度6-10位、不可包含特殊字符、必须包含大写、小写和数字,oracle 如何实现?

随机生成18位密码

python 随机生成6位密码

在26个大小写字母(52个),以及9个数字组成的字符列表中, 随机生成10个8位密码.