Linux下如何产生随机密码

2023-04-12 03:39:00 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

相关文章