Linux 系統多種方法隨機數生產

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

相關文章
相關標籤/搜索