加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux中shell生成随机密码示范

发布时间:2023-07-10 13:25:06 所属栏目:Linux 来源:
导读:shell命令可以生成随机密码我在很早以前就介绍过一些例子了,这里看到一站长写的文章再整理一下与大家一起学习他的方法.为了生成更加无序及相应复杂的密码,因此写了个生成随机密码的脚本,在此之前生成密码通常我是通过

shell命令可以生成随机密码我在很早以前就介绍过一些例子了,这里看到一站长写的文章再整理一下与大家一起学习他的方法.

为了生成更加无序及相应复杂的密码,因此写了个生成随机密码的脚本,在此之前生成密码通常我是通过如下命令实现的:

cat /dev/urandom | head -n 1 | md5sum | head -c 16

好了,不说所了,直接上脚本,代码如下:

[root@liufofu shell]# cat make_random_passwd.sh  

#!/bin/bash 

######################################### 

# author        www.Cuoxin.com 

# email         Cuoxin.com@qq.com 

# date          2014-08-15 

######### descprition ################## 

# 1.生成随机密码 

# 2. 

######################################## 

#init variables 

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 

export PATH 

ff_outputdir=/tmp/liufofu 

curdate=$(date +%Y%m%d) 

curtime=$(date +%H%M%S) 

ff_logfile=${ff_outputdir}/${curdate}.log 

if [ ! -e ${ff_outputdir} ];then 

    mkdir -p ${ff_outputdir} 

fi 

#处理过程中产生的日志由日志函数来进行处理记录 

[root@liufofu shell]# cat make_random_passwd.sh  

#!/bin/bash 

######################################### 

# author        www.Cuoxin.com 

# email         Cuoxin@qq.com 

# date          2014-08-15 

######### descprition ################## 

# 1.生成随机密码 

# 2. 

######################################## 

#init variables 

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 

export PATH 

ff_outputdir=/tmp/liufofu 

curdate=$(date +%Y%m%d) 

curtime=$(date +%H%M%S) 

ff_logfile=${ff_outputdir}/${curdate}.log 

if [ ! -e ${ff_outputdir} ];then 

    mkdir -p ${ff_outputdir} 

fi 

#处理过程中产生的日志由日志函数来进行处理记录 

function log() 

    echo "`date +"%Y:%m:%d %H-%M-%S"` $1 "  >> ${ff_logfile} 

rpasswd="" 

if [ -z $1 ];then 

    rlen=16 

else 

    rlen=$1 

fi 

ary=(0 1 2 3 4 5 6 7 8 9 \( a b c d e f g h i i \) j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ % \# \!) 

for ((i=1;i<=${rlen};i++));do 

    rpasswd=${rpasswd}${ary[$RANDOM % ${#ary[*]}]} 

    #echo -n ${ary[$RANDOM % ${#ary[*]}]} 

done 

echo ${rpasswd} 

在这个脚本中,你可以自行定义ary这个数组,生成你自己所要的密码类型.

脚本的运行效果如下:

[root@liufofu shell]# sh make_random_passwd.sh 

z%J7Jy7EE@YrWi8E 

[root@liufofu shell]# sh make_random_passwd.sh 10 

lW6IiCcJyi 

[root@liufofu shell]# sh make_random_passwd.sh 6 

ZiEIqj 

[root@liufofu shell]# sh make_random_passwd.sh 1 

[root@liufofu shell]# sh make_random_passwd.sh 7 

Jyw28dB 

[root@liufofu shell]# sh make_random_passwd.sh 

39eZkiTrp1e1kDb% 

[root@liufofu shell]# sh make_random_passwd.sh 

#Aw%Jn@PPcO9bH)r

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章