Case 01:node
——经过系统环境变量($RANDOM)实现
命令:echo
示例: [root@node1 ~]# echo $RANDOM
28380
[root@node1 ~]#
注:使用echo命令直接打印出当前系统环境变量RANDOM,生成的数字大小是随机的算法
Case 02:dom
——经过openssl产生随机数
命令:openssl
示例: [root@node1 ~]# openssl rand -base64 8
K0mL+HZU73g=
[root@node1 ~]# openssl rand -base64 24
wuowHv1YDhU17H65uURe/vX+c21yJb7U
[root@node1 ~]# openssl rand -base64 20
XwPXBykcFRCS5zlDQ0bz5QRiw0g=
[root@node1 ~]#
注:在openssl 中生成随机数的函数是定义在rand.sh文件中,根据加密算法生成随机数ide
Case 03:函数
——经过 “时间命令”(date)获取随机数
命令:date
示例: [root@node1 ~]# date +%s%N
1508838704140538350
[root@node1 ~]# date +%s%N
1508838714903421144
[root@node1 ~]#
注:使用date命令,直接产生秒数并加入纳秒数工具
Case 04:ui
——经过/dev/urandom或random配合cksum命令产生随机数
命令:head,cksum
示例: [root@node1 ~]# head /dev/urandom | cksum
2102319630 2269
[root@node1 ~]# head /dev/urandom | cksum
1342505153 2154
[root@node1 ~]# head /dev/urandom | cksum
1876617057 2447
[root@node1 ~]#
注:利用Linux两个特殊设备产生随机数,随机数原理是利用系统熵池计算必定数量随机比特加密
Case 05:spa
——经过UUID产生随机数
命令:cat
示例: [root@node1 ~]# cat /proc/sys/kernel/random/uuid
ba563ea6-9302-4563-8deb-570352e30312
[root@node1 ~]# cat /proc/sys/kernel/random/uuid
1d19f3f9-8fe0-4249-8329-b56e9dfbf925
[root@node1 ~]#
注:利用系统内核提供的UUID码产生随机数code
Case 06:
——使用Linux系统自带的密码生成工具mkpasswd生成随机数
命令:mkpasswd [root@node1 ~]# mkpasswd
09mXzgQz\
[root@node1 ~]# mkpasswd -l 20
bqa2qfgWd|aiDo1cevuz
[root@node1 ~]# mkpasswd -l 20 -d 3 -C 3 -c 3 -s 3
X&_!h1ucggwt9Nhg0aPl
[root@node1 ~]#
注:需安装expect包,mkpasswd命令具体使用请使用 man mkpasswd查看
Case 07:
——利用awk随机函数生成随机数
命令:awk
示例: [root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}'
840968
[root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}'
438963
[root@node1 ~]# awk 'BEGIN{srand();print rand()*1000000}'
111150
注:可加 if 判断
done……