- 利用
/dev/urandom
生产随机字符
# fold -w 数字, 定义数据长度
# head -数字,定义生产数据的个数
# tr -dc,定义生产数据使用字符集的范围,`-d`是删除数据集,`-c`是指删除了数据集之后的补集。
# 比如:完整的数据集包含All:1234ABCDabcd,tr -d '1-4',
# 剩下的是Part:ABCDabcd,再加上`-c`,求的就是全集去掉补集All - Part = 1234
# 纯数字
root@ubuntu:/# cat /dev/urandom | tr -dc '0-9' | fold -w 12 | head -1
605559033071
# 纯大写字母
root@ubuntu:/# cat /dev/urandom | tr -dc 'A-Z' | fold -w 8 | head -1
GVQOITNX
# 纯小写字母
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-z' | fold -w 8 | head -1
gwqbldjb
# 大小写字母组合
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 8 | head -1
CbgJRyUU
# 大小写字母数字组合
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -1
C0Hh9CfRgsZL2d4V
# 添加特殊字符
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-zA-Z0-9#$%?' | fold -w 16 | head -1
aHJFdkwTvTWLJt5X
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-zA-Z0-9#$%?' | fold -w 16 | head -1
fgT$K0f#kKvR2anQ
# 一次生产两组
root@ubuntu:/# cat /dev/urandom | tr -dc 'a-zA-Z0-9#$%?' | fold -w 16 | head -2
?1ceAk4ZG13hMhy0
8UqFy$ZBxuhgPTxg
- 利用
openssl
生产随机字符
#
root@ubuntu:/# openssl rand -base64 8
5xHq5zTNNz8=
root@ubuntu:/# openssl rand -base64 8 | md5sum
39d12d8dda49ee214fcaa80eb682a08b -
# -base64 8,长度是8位
# cut -c,用于截取字符串,md5sum计算上一个输出,长度是32位,这里截取1到8位
root@ubuntu:/# openssl rand -base64 8 | md5sum | cut -c 1-8
9bdc75e7
# 输出纯数字
# 其中,cksum命令是检查文件的CRC是否正确。数字长度随输入而改变。
root@ubuntu:/# openssl rand -base64 8 | cksum | cut -c 1-8
14305243