【转】Linux系统产生随机数的6种方法
1、通过系统环境变量($RANDOM)产生随机数
[root@localhost ~]# echo $RANDOM
3849
[root@localhost ~]# echo $RANDOM
14931
[root@localhost ~]# echo $RANDOM
12488
[root@localhost ~]# echo $RANDOM |md5sum |cut -c 1-8 #获取8位随机字符
2e45f930
[root@localhost ~]# echo $RANDOM |cksum |cut -c 1-8 #获取8位随机数字
44020023
2、通过openssl产生随机数
openssl rand 用于产生指定长度个bytes的随机字符
-base64 / -hex 对随机字符串进行base64编码或用hex格式显示
[root@localhost ~]# openssl rand -base64 10
yNop46cVrQxNIQ==
[root@localhost ~]# openssl rand -base64 8
pB492c604MI=
[root@localhost ~]# openssl rand -base64 5
gAqEI9c=
[root@localhost ~]# openssl rand -base64 6 #获取8位随机字符
Ynp6VIpK
[root@localhost ~]# openssl rand -base64 9 #获取12位随机字符
fiZ8sfsISLNt
[root@localhost ~]# openssl rand -base64 8 |cksum |cut -c 1-8 #获取8位随机数字
79268014
3、通过时间获得随机数(date)
[root@localhost ~]# date +%s%N
1523515467269826678
[root@localhost ~]# date +%s%N
1523515470209375226
[root@localhost ~]# date +%N
967517148
[root@localhost ~]# date +%s
1523515480
[root@localhost ~]# date +%N |cut -c 1-8 #获取8位随机数字
48604877
4、使用/dev/urandom产生随机数
[root@localhost ~]# head /dev/urandom | cksum
4079719468 1897
[root@localhost ~]# head /dev/urandom | cksum
335118151 3245
[root@localhost ~]# head /dev/urandom | cksum
2907270140 3053
5、使用计算机生成的uuid码产生随机字符
[root@localhost ~]# cat /proc/sys/kernel/random/uuid
9db39860-5e2f-46c0-8198-d40d551a1402
[root@localhost ~]# cat /proc/sys/kernel/random/uuid
d158d445-abdc-4909-81da-7bafae83cce1
[root@localhost ~]# cat /proc/sys/kernel/random/uuid |cut -c 1-8 #获取8位随机字符
1c5ad58a
[root@localhost ~]# cat /proc/sys/kernel/random/uuid |cut -c 1-8 #获取8位随机字符
d332cf7f
6、安装软件expect,然后使用命令mkpasswd生成随机字符
[root@localhost ~]# yum -y install expect
[root@localhost ~]# mkpasswd -l 8
6cvHu1P_
[root@localhost ~]# mkpasswd -l 8
g7jR3!Lt
[root@localhost ~]# mkpasswd -l 8
Y9wCwk4-
[root@localhost ~]# mkpasswd
h8{o4wVWf
[root@localhost ~]# mkpasswd
9bnI&zD4u
[root@localhost ~]# mkpasswd|md5sum
d9fabd642a8d4e260c95604bdd7d9cea -
[root@localhost ~]# mkpasswd|md5sum
c5ddd81803a9308bcf31999c2441c5d9 -
原文:https://www.icode9.com/content-3-136220.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!