-
#!/bin/bash
-
- declare -a chars
-
declare -a nums
-
chars=(a 1 A b B / c 2 C d D e 3 E f F g . G 4 h H i I g G 5 k K l L m M 6 n N o O p 7 + P q Q R s 8 S t T - u U v 9 V w W x X _ y 0 Y z Z / . + - _)
-
nums=(0 1 2 3 4 5 6 7 8 9)
-
echo -n "X"
-
for ((count=0;count<=13;count++))
-
do
-
RA=`expr $RANDOM % 5000`
-
#RA1=`expr $RANDOM % 10000`
-
-
N_TIME=`expr $RANDOM % 10000`
-
G_NUM=$[${N_TIME}%71]
-
G_NUM2=$[${RA}%71]
-
if [ $[${count}%2] -eq 0 ]
-
then
-
echo -n ${chars[$G_NUM]}
-
else
-
echo -n ${chars[$G_NUM2]}
-
fi
-
done
-
echo "J"
-
后来,发现了这个命令:mkpasswd ,好用多了。这个命令本来是给用户修改密码的,但我们利用一下它,只要后面不加用户这个参数,就可以用来生成密码了,而且密码强度可以随意调整。用法如下:
- 参数:
- -l # (密码的长度定义, 默认是 9)
- -d # (数字个数, 默认是 16)
- -c # (小写字符个数, 默认是 3)
- -C # (大写字符个数, 默认是 2)
- -s # (特殊字符个数, 默认是 1)
- -v (详细。。。)
- -p prog (程序设置密码, 默认是 passwd)
例子:
- [root@fbl_haiou ~]# mkpasswd -l 10 -d 5 -c 5 -C 0 -s 0
- 5t91mk66vu
-
生成10位随机密码,只有数字和小写字母。要注意上面的用法,需要把-C和-s设置为0。
- [root@fbl_haiou ~]# mkpasswd -l 10 -d 0 -C 7 -c 0 -s 3
- B/LILUKQ?+
- 生成10位随机密码,只包含大写字母和特殊字符。
有兴趣的童鞋可以自己试一下。
对了,说明一下,这个命令如果没有的话,可以通过安装expect来得到。