生成随机数
1、通过系统环境变量($RANDOM)实现
[root@i-1pbhgm8j ~]# echo $RANDOM | md5sum | cut -c 5-11
3edb8e2
urandomNum=`tr -dc 'a-z' </dev/urandom | head -c 10; echo`
2、通过openssl产生随机数
[root@i-1pbhgm8j ~]# openssl rand -base64 30
K2M6kqd//nWnOcn0l+jZdQPLhojKwuiqKJmZjj5H
这里后面的数字30是产生随机数的位数
3、通过时间data产生随机数
[root@i-1pbhgm8j ~]# date +%s%N
1507534201869428907
4、通过/dev/urandom配合chksum生成随机数
[root@i-1pbhgm8j ~]# head /dev/urandom | cksum
3529852297 1731
5、通过UUID生成产生随机数
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
1a2f4db2-5ec6-46b1-8c08-f0fdf17e76eb
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
6c2be32b-6f8c-4cdc-9f6f-224a3d966f7a
[root@i-1pbhgm8j ~]# cat /proc/sys/kernel/random/uuid
4a11c9e6-0b42-4401-bad3-f492dcb28baa
6、使用expect附带的mkpasswd生成随机数
[root@i-1pbhgm8j ~]# yum install expect -y
[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
y78UF/o93b
[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
hELs1(n297
[root@i-1pbhgm8j ~]# mkpasswd -l 10 -d 4 -c 2 -C 2 -s 1
gWC$s1239z
小结:
-l 指定密码长度
-d 指定密码中数字的数量
-c 指定密码中小写字母的数量
-C 指定密码中大写字母的数量
-s 指定密码中特殊字符的数量
生成1-39内的随机数
#!/bin/bash
num=$(date +%N);
a=`expr $num % 39 `
b=`expr $a + 1 `
echo $b
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J.のblog!
评论