首页 > 技术文章 > linux随机生成密码

qianjingchen 2018-09-18 15:07 原文

1、mkpassword工具

  # 使用最多的密码生成工具

yum -y install expect  #需要安装expect工具
mkpasswd -l 15 -d 3 -c 4 -C 4 -s 2 #直接在命令行进行随机打印
#长度 15 位,数字至少 3位, 小写字母至少4 位,大写字母至少4 位, 特殊字符 至少 2位

2、Urandom模块使用

  # 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符

head -c 16 /dev/urandom | od -An -t x | tr -d ' '      #可随机生成32位的字符
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo #urandom更简单版本使用
< /dev/urandom tr -dc _A-Z-a-z-0-9 |head -c${1:-32};echo #urandom使用
tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1;echo #类似urandom,但是相反
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo #另一种用法

3、使用openssl的随机函数

openssl rand -base64 32  #随机生成32位字符

4、string命令,从一个文件中输出可打印的字符

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d '\n'; echo

5、dd命令

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

6、date命令

date | md5sum
daet | base64

7、生成长密码

ifconfig | base64

 ##此类方法还有更多,这里只记录于此。

 

推荐阅读