Linux下如何产生随机密码
.
在Linux下产生随机密码的方法有很多,常见的有以下几种:
1. 使用/dev/random
/dev/random是Linux下的一个特殊设备文件,它能从硬件(键盘、鼠标、网卡等)上收集随机数据,生成随机密码。
示例代码:
#!/bin/bash
#生成8位随机密码
for i in `seq 1 8`
do
str=`cat /dev/random | head -c 1`
if [[ $str =~ [0-9] ]];then
echo -n $str
elif [[ $str =~ [a-z] ]];then
echo -n $str | tr '[a-z]' '[A-Z]'
else
i=$(($i-1))
fi
done
echo
2. 使用openssl
openssl是一个强大的安全工具,也可以用来生成随机密码。
示例代码:
#!/bin/bash
#生成8位随机密码
for i in `seq 1 8`
do
str=`openssl rand -base64 1`
if [[ $str =~ [0-9] ]];then
echo -n $str
elif [[ $str =~ [a-z] ]];then
echo -n $str | tr '[a-z]' '[A-Z]'
else
i=$(($i-1))
fi
done
echo
3. 使用date命令
date命令也可以生成随机密码,不过这种方法生成的密码不是很安全。
示例代码:
#!/bin/bash
#生成8位随机密码
for i in `seq 1 8`
do
str=`date +%s%N | cut -c1`
if [[ $str =~ [0-9] ]];then
echo -n $str
elif [[ $str =~ [a-z] ]];then
echo -n $str | tr '[a-z]' '[A-Z]'
else
i=$(($i-1))
fi
done
echo
相关文章