Linux 随机数生成


 

  1. 使用dd命令截取/dev/urandom
    dd if=/dev/urandom bs=1 count=20 2>/dev/null|base64|rev|cut --bytes 3-|rev

     

     

  2. 生成10个小写字母
    < /dev/urandom tr -dc [a-z] | head --bytes 10;echo

     

     

  3. 生成10个大写字母
    < /dev/urandom tr -dc [A-Z] | head --bytes 10;echo

     

     

  4. 生成10个数字
    < /dev/urandom tr -dc [:digit:] | head --bytes 10;echo

     

     

  5. 利用时间和散列函数
    date +%s | sha256sum | base64 | head --bytes 10;echo

     

     

  6. openssl rand子命令

     

     openssl rand 产生的是随机bytes字节,直接输出会乱码,故用base64或hex编码

    openssl rand -hex 6 openssl rand -base64 6

     

     使用base64编码可能会有 / + = 等特殊字符

  7. 结合fold命令
    tr -dc [:digit:] < /dev/urandom | fold --width 10 | head -1

     

     

  8. 使用strings提取ASCII字符
    strings /dev/urandom | grep -o '[[:digit:]]' | head -10 | tr -d '\n';echo

     

     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM