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