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……