生成固定位数的随机数

使用/dev/urandom产生指定长度随即数字串或字符串

#Linux下有两个特殊设备文件/dev/random和/dev/urandom,用于生成随机数。/dev/random生成的随机数与当前使用的计算机硬件状态相关,提高了安全性,非常适合对随机数质量要求很高的场景。但是,
如果硬件状态改变不足以提供足够多的信息给这个随机数生成器,读它产生的随机数的程序就会block住,一直等到有足够多的硬件状态改变导致数据生成为止。
#/dev/urandom又称为“无限”或者“非堵塞”("unlimited"[5]/non-blockingrandom source[4])随机数生成器,它生成随机数的机制与硬件状态无关,所以速度比/dev/random快的多。在我的笔记本
虚机上测试的结果是生成160M大小的随机数需要大约25秒

1)生成随机16位密码
[root@centos7 ~]# </dev/urandom tr -dc 'a-zA-z0-9!@#$%^&*()_+-,.?'|head -c 16;echo GW6,F01Z3HA47KUs

2)生成小写字母+数字16位随机密码
[root@centos7 ~]# </dev/urandom tr -dc 'a-z0-9'|head -c 16;echo
vej6weghit5s6bzo

3)生成大写字母+数字16位随机密码
[root@centos7 ~]# </dev/urandom tr -dc 'A-Z0-9'|head -c 16;echo
WINKLFB0LZ1ILG3B

#####

原文地址:https://www.cnblogs.com/faithH/p/13801457.html