shell命令可以生成随机密码我在很早以前就介绍过一些例子了,这里看到一站长写的文章再整理一下与大家一起学习他的方法.
为了生成更加无序及相应复杂的密码,因此写了个生成随机密码的脚本,在此之前生成密码通常我是通过如下命令实现的:
cat /dev/urandom | head -n 1 | md5sum | head -c 16
好了,不说所了,直接上脚本,代码如下:
- [root@liufofushell]#catmake_random_passwd.sh
- #!/bin/bash
- #########################################
- #authorwww.phpfensi.com
- #emailphpfensi.com@qq.com
- #date2014-08-15
- #########descprition##################
- #1.生成随机密码
- #2.
- ########################################
- #initvariables
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
- exportPATH
- 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@liufofushell]#catmake_random_passwd.sh
- #!/bin/bash
- #########################################
- #authorwww.phpfensi.com
- #emailphpfensi@qq.com
- #date2014-08-15
- #########descprition##################
- #1.生成随机密码
- #2.
- ########################################
- #initvariables
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
- exportPATH
- 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
- #处理过程中产生的日志由日志函数来进行处理记录
- functionlog()
- {
- echo"`date+"%Y:%m:%d%H-%M-%S"`$1">>${ff_logfile}
- }
- rpasswd=""
- if[-z$1];then
- rlen=16
- else
- rlen=$1
- fi
- ary=(0123456789\(abcdefghii\)jklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@%\#\!)
- for((i=1;i<=${rlen};i++));do
- rpasswd=${rpasswd}${ary[$RANDOM%${#ary[*]}]}
- #echo-n${ary[$RANDOM%${#ary[*]}]}
- done
- echo${rpasswd}
在这个脚本中,你可以自行定义ary这个数组,生成你自己所要的密码类型.
脚本的运行效果如下:
- [root@liufofushell]#shmake_random_passwd.sh
- z%J7Jy7EE@YrWi8E
- [root@liufofushell]#shmake_random_passwd.sh10
- lW6IiCcJyi
- [root@liufofushell]#shmake_random_passwd.sh6
- ZiEIqj
- [root@liufofushell]#shmake_random_passwd.sh1
- Z
- [root@liufofushell]#shmake_random_passwd.sh7
- Jyw28dB
- [root@liufofushell]#shmake_random_passwd.sh
- 39eZkiTrp1e1kDb%
- [root@liufofushell]#shmake_random_passwd.sh
- #Aw%Jn@PPcO9bH)r