1. 程式人生 > >linux 獲取隨機數的辦法

linux 獲取隨機數的辦法

oss 結果 定位 博文 截取 分享圖片 ebe 51cto 交互式

對於剛學linux的我,盡力去弄清楚每一個點,記錄收藏每個好的博文。
摘自:https://blog.csdn.net/yuki5233/article/details/82997001#openssl_45
第一種:通過內部系統變量($RANDOM)
技術分享圖片
1、產生0-25範圍內的數,用這個環境變量對26取余即可。
技術分享圖片
2、產生6位數的整數,用這個環境變量加上100000即可。
技術分享圖片
3、 產生加密的隨機數碼,將隨機數管道給命令md5sum命令即可。
技術分享圖片

  1. 需要固定位數的隨機數碼,將隨機數管道給命令md5sum命令再管道給cut命令即可。
    RANDOM的隨機數範圍為0~32767,因此,加密性不是很好,可以通過在隨機數後增加加密字符串(就是和密碼生成有關的字符串)的方式解決,最後再一起執行md5sum操作並截取結果的後n位,這樣一來,就無法根據隨機範圍0~32767猜出具體結果了。
    技術分享圖片
    第二種:通過openssl產生隨機數
    技術分享圖片
    第三種:通過時間命令date產生隨機數
    技術分享圖片
    第四種:借助/dev/urandom設備
    技術分享圖片
    第五種:通過/dev/random設備產生uuid
    技術分享圖片
    第六種:expect非交互式程序控制下用mkpasswd命令
    技術分享圖片

linux 獲取隨機數的辦法