linux 随机数函数,Linux 系统多种方法随机数生产

本文介绍了在Linux系统中生成随机数的七种实用方法,包括使用系统环境变量、openssl工具、时间命令、特殊设备文件、UUID、密码生成工具mkpasswd及awk随机函数等手段。

Case 01:

——通过系统环境变量($RANDOM)实现

命令:echo

示例:

[root@node1 ~]# echo $RANDOM

28380

[root@node1 ~]#

注:使用echo命令直接打印出当前系统环境变量RANDOM,生成的数字大小是随机的

Case 02:

——通过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文件中,根据加密算法生成随机数

Case 03:

——通过 “时间命令”(date)获取随机数

命令:date

示例:

[root@node1 ~]# date +%s%N

1508838704140538350

[root@node1 ~]# date +%s%N

1508838714903421144

[root@node1 ~]#

注:使用date命令,直接产生秒数并加入纳秒数

Case 04:

——通过/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:

——通过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码产生随机数

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值