zl程序教程

您现在的位置是:首页 >  其他

当前栏目

5、六种产生随机数的方法

2023-03-14 22:49:13 时间

1. RANDOM变量方法

  • echo $RANDOM 16657
  • echo $[RANDOM**3] 5181309310464

随机数为纯数值

2.openssl方法

  • openssl rand -base64 16 YFRJc5PRxt5SUmrJYEbhVQ==

此随机数包含大小写、数字、特殊字符等

3. 时间(date)方法

  • date +%s%N 1516546978135506875

任意时间执行产生的结果都不一样,纯数字

4. /dev/urandom方法

head /dev/urandom|cksum 1407612570 1892

以当前系统状态产生的唯一值,纯数字

5.UUID方法

  • cat /proc/sys/kernel/random/uuid cf69621c-6222-4397-9753-2607ca4dabcc

加入各种信息计算的唯一值,小写字母和数字组成

6.expect附带的mkpasswd命令方法

  • mkpasswd -l 16 -d 2 -c 3 -C 3 -s 1 g2N%gr6UvauoMtic

-l 长度 -d 数字数量 -c 小写字母数量 -C 大小字母数量 -S 特殊字符数量

7. 统一随机数长度(8位)

  • echo $RANDOM|md5sum|cut -c 1-8 f7355ed7
  • date +%s%N|md5sum|cut -c 1-8 7c10a457

另外4种随机数方法的统一长度,都是用md5sum计算后,用cut切出需要的位数就行