概述
(1)通过内部系统变量($RANDOM)
echo $RANDOM
生成0-32767之间的整数随机数,若超过5位可以加个固定10位整数,然后进行求余。生成400000~500000的随机数:
随机数取出10位字符: echo $RANDOM |md5sum |cut -c 1-10
(2)通过时间获得随机数(date)
GNU的date提供+%s(小写s), 能打印出自1970-01-01 00:00:00到当前时间的秒数
%N纳秒
date +%s%N #生成19位随机数字
(3)通过系统内唯一数据生成随机数(/dev/random及/dev/urandom)
/dev/urandom是非阻塞的随机数产生器,读取时不会产生阻塞,速度更快、安全性较差的随机数发 生器。
head /dev/urandom |cksum
配合MD5sum : head /dev/urandom |cksum |md5sum
(4)读取linux的uuid码
(1)通过内部系统变量($RANDOM)
echo $RANDOM
生成0-32767之间的整数随机数,若超过5位可以加个固定10位整数,然后进行求余。生成400000~500000的随机数:
随机数取出10位字符: echo $RANDOM |md5sum |cut -c 1-10
(2)通过时间获得随机数(date)
GNU的date提供+%s(小写s), 能打印出自1970-01-01 00:00:00到当前时间的秒数
%N纳秒
date +%s%N #生成19位随机数字
(3)通过系统内唯一数据生成随机数(/dev/random及/dev/urandom)
/dev/urandom是非阻塞的随机数产生器,读取时不会产生阻塞,速度更快、安全性较差的随机数发 生器。
head /dev/urandom |cksum
配合MD5sum : head /dev/urandom |cksum |md5sum
(4)读取linux的uuid码
UUID码全称是通用唯一识别码 (Universally Unique Identifier, UUID),UUID格式是:含32个16进制数字,以“-”连接号分为五段,形式为8-4-4-4-12的32个字符。linux的uuid码也是有内核提供的,在/proc/sys/kernel/random/uuid这个文件内。cat/proc/sys/kernel/random/uuid每次获取到的数据都会不同。
cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" " #获取不同的随机整数,1675034933
cat /proc/sys/kernel/random/uuid| md5sum | cut -c1-8 #数字加字母的随机数,d69a7ebf
(5)、使用expect附带的mkpassword生成随机数
-l # (length of password, default = 7) 指定密码的长度,默认是7位数
-d # (min # of digits, default = 2) 指定密码中数字最少位数,默认是2位
-c # (min # of lowercase chars, default = 2) 指定密码中小写字母最少位数,默认是2位
-C # (min # of uppercase chars, default = 2)指定密码中大写字母最少位数,默认是2位
-s # (min # of special chars, default = 1)指定密码中特殊字符最少位数,默认是1位
(6)、使用Openssl 产生随机数
opensll rand -base64 8
opnesll radn -base64 80
UUID码全称是通用唯一识别码 (Universally Unique Identifier, UUID),UUID格式是:含32个16进制数字,以“-”连接号分为五段,形式为8-4-4-4-12的32个字符。linux的uuid码也是有内核提供的,在/proc/sys/kernel/random/uuid这个文件内。cat/proc/sys/kernel/random/uuid每次获取到的数据都会不同。
cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" " #获取不同的随机整数,1675034933
cat /proc/sys/kernel/random/uuid| md5sum | cut -c1-8 #数字加字母的随机数,d69a7ebf
(5)、使用expect附带的mkpassword生成随机数
-l # (length of password, default = 7) 指定密码的长度,默认是7位数
-d # (min # of digits, default = 2) 指定密码中数字最少位数,默认是2位
-c # (min # of lowercase chars, default = 2) 指定密码中小写字母最少位数,默认是2位
-C # (min # of uppercase chars, default = 2)指定密码中大写字母最少位数,默认是2位
-s # (min # of special chars, default = 1)指定密码中特殊字符最少位数,默认是1位
(6)、使用Openssl 产生随机数
opensll rand -base64 8
opnesll radn -base64 80
最后
以上就是忧郁酸奶为你收集整理的随机数获取6中方法的全部内容,希望文章能够帮你解决随机数获取6中方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复