shell生成随机字符串

#!/bin/bash

i=1
while [ $i -le 10000 ]
do
a=`echo `< /dev/urandom tr -dc A-Za-z0-9 | head -c6``
echo -n -e "$a\t"
b=`echo `< /dev/urandom tr -dc 0-9 | head -c6``
echo "$b"
i=`expr $i + 1`
done

 
PS:-----------------------------------------------------------------
在Linux中,/dev/urandom和/dev/random是两个随机伪设备,都可以用来产生随机数。不同的是/dev/random依赖于系统中断,当系统中断不足时,/dev/random设备会处于封锁状态,因而使用/dev/urandom更加方便、靠谱。
 
所谓中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。
---------------------------------------------------------------------
 
1、生成随机数字(20位)
head  /dev/urandom  |  tr -dc 0-9  | head -c 20
 
2、包含数字、大小写(20位)
head  /dev/urandom  |  tr -dc A-Za-z0-9  | head -c 20
 
3、使用MD5加密
cat  /dev/urandom  |  head -c 5 | md5um  | head  -c  5
 
4、也可转换为16进制处理
cat  /dev/urandom  |  od  -x  |  head  -c 10

 

posted on 2019-03-14 09:23  林肯公园  阅读(1048)  评论(0编辑  收藏  举报

导航