shell 获取随机字符串

一直使用 /dev/urandom 和md5sum的方式去随机字符串,感觉还是不够随机,毕竟只有小写字母和数字嘛。

换换口味:

[root@localhost ~]# arr=(`echo {a..z} \# \@ \% \& {0..9} \! \; \? {A..Z} \> \+ \= `) ; str="" ; for i in `seq 18` ; do str=${str}${arr[`echo $RANDOM % ${#arr[*]} | bc`]}; done ; echo $str 
RtDYVei>WBx;U70Q+9

[root@localhost  ~]#  dd if=/dev/urandom bs=1 count=15 2> /dev/null | base64 -w 0 
Y5lDhOPq8eku8sya5peq

[root@localhost ~]# strings /dev/urandom |tr -dc A-Za-z0-9 | head -c20; echo
dDWq1Gv6VEg2uPSJ8Fly
posted @ 2018-01-04 16:27  wshenJin  阅读(683)  评论(0编辑  收藏  举报