关于LINUX 中取随机值的几种方法


关于LINUX 中取随机值的几种方法

取随机数(数字):

使用RANDOM(必须大写)

默认取值为0-32767。如果需要取特殊范围内的数字,可以使用RANDOM%数字进行去取值,例如:echo $((RANDOM%100)),取值的范围是0-100,可以通过echo $((RANDOM%30+10))这种方式对初始值进行限定。

[root@hz ~]# echo $RANDOM

12632

[root@hz ~]# echo $((RANDOM%100))

72

[root@hz ~]# echo $((RANDOM%30+10))

37

使用date取数值:date +%s$N

[root@hz ~]# date +%s$N #获取从1970-01-01 00:00:00 UTC开始到现在的秒数,值是唯一值,但是存在规律

1591797090

取随机字符串:

1. 通过md5sum对RANDOM进行转化和截取,例如:

[root@hz ~]# echo $RANDOM | md5sum #对去RANDA的取值进行MD5加密

de9df61b1f1bde18f537ee2560f9dea4  -

[root@hz ~]# echo $RANDOM | md5sum | cut -c 15-30 ##对去RANDA的取值进行MD5加密并截取第15-20位的字符串

781d9a986ef6c24b

2. 通过openssl rand -base64 (需要的取值位数)生成随机字符串

[root@hz ~]# openssl rand -base64 12 #取值12位

sUVCZtCnYogYy9p3

[root@hz ~]# openssl rand -base64 8 #取值8位

pT6eWMo9lgs=

[root@hz ~]# openssl rand -base64 6 #取值6位

KzBwtHyU

[root@hz ~]# openssl rand -base64 18 #取值18位

ktHR/rQtAoRMi1A1dN8PrMJj

3. 使用UUID:cat /proc/sys/kernel/random/uuid

[root@hz ~]# cat /proc/sys/kernel/random/uuid

e27f517a-5698-40bf-90e6-e3f81aebb8f5

 这是在Linux 下取随机数值的几种方式,但在实际工作中我们可以通过一种或者几种方法进行组合进行取值

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容