再谈linux下随机数的产生

在创建临时账号初始密码时或许有用

1) 使用md5sum对已有数据加密产生

$ date +”%N” | md5sum

2) 通过/dev/urandom

$ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo
$ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6; echo 
$ tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
$ dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
$ strings /dev/urandom | grep -o "[0-9]" | head -n 30 | tr -d '\n'; echo

3) 使用SHA对已有数据加密产生

$ date +%s | sha256sum | base64 | head -c 32 ; echo   

4) 使用 openssl

$ openssl rand -base64 32 

相关阅读:shell里产生随机数的几种方式 ,用date的纳秒做随机数不严禁

另外推荐一篇关于随机数拖慢应用响应的文章,可以更好的了解一下linux的熵池。

发表评论

电子邮件地址不会被公开。 必填项已用*标注