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切出需要的位数就行