Linux生成随机数的几种方法

linux系统产生随机数的6种方法

1、通过系统环境变量($RANDOM)实现
[root@i-1pbhgm8j ~]# echo $RANDOM | md5sum | cut -c 5-11
3edb8e2

2、通过openssl产生随机数
[root@i-1pbhgm8j ~]# openssl rand -base64 30
K2M6kqd//nWnOcn0l+jZdQPLhojKwuiqKJmZjj5H
小结:这里后面的数字30是产生随机数的位数

3、通过时间data产生随机数
[root@i-1pbhgm8j ~]# date +%s%N
1507534201869428907

4、通过/dev/urandom配合chksum生成随机数
[root@i-1pbhgm8j ~]# head /dev/urandom | cksum
3529852297 1731

5、通过UUID生成产生随机数
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
1a2f4db2-5ec6-46b1-8c08-f0fdf17e76eb
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
6c2be32b-6f8c-4cdc-9f6f-224a3d966f7a
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
4a11c9e6-0b42-4401-bad3-f492dcb28baa

6、使用expect附带的mkpasswd生成随机数
[root@i-1pbhgm8j ~]# yum install expect -y

[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
y78UF/o93b
[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
hELs1(n297
[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
gWC$s1239z

小结:
-l 指定密码长度
-d 指定密码中数字的数量
-c 指定密码中小写字母的数量
-C 指定密码中大写字母的数量
-s 指定密码中特殊字符的数量

 

你可能感兴趣的:(Linux运维)