Linux 产生随机数的两种方式
cat /dev/urandom | od -x | sed 's/\s*//g' |cut -c 8-16 |less
cat /dev/random | od -x | sed 's/\s*//g' |cut -c 8-16 |less
上述两种方式都可以产生随机数,但是有区别
dev/urandom 和dev/random
都是产生用不为空的随机字符流,区别是
/dev/random设备会封锁,直到系统产生的随机字符流已经充分够用,所以耗用时间较长
/dev/urandom设备不会封锁,数据的随机程度不高,但是一般情况已经够用
生成全字符随机的字串:
cat /dev/urandom | strings -n C | head -n L
生成数字加字母的随机字串:
cat /dev/urandom | sed 's/[^a-zA-Z0-9]//g' | strings -n C | head -n L
其中C表示字符串的字符数,L表示要生成多少行字符。