Shell腳本之:生成隨機密碼的若干種可能

1.生成隨機密碼(urandom版本)

#!/bin/bash
#Author:丁丁歷險(Jacob)
#/dev/urandom文件是Linux內置的隨機設備文件
#cat /dev/urandom可以看看裏面的內容,ctrl+c退出查看
#查看該文件內容後,發現內容有些太隨機,包括很多特殊符號,我們需要的密碼不希望使用這些符號
#tr -dc '_A-Za-z0-9'  </dev/urandom   
#該命令可以將隨機文件中其他的字符刪除,僅保留大小寫字母,數字,下劃線,但是內容還是太多
#我們可以繼續將優化好的內容通過管道傳遞給head命令,在大量數據中僅顯示頭10個字節
#注意A前面有個下劃線
tr -dc '_A-Za-z0-9'  </dev/urandom  | head -c  10

2.生成隨機密碼(字串截取版本)

#!/bin/bash
#Author:丁丁歷險(Jacob)
#設置變量key,存儲密碼的所有可能性(密碼庫),如果還需要其他字符請自行添加其他密碼字符
#使用$#統計密碼庫的長度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#設置初始密碼爲空
pass=''
#循環8次,生成8爲隨機密碼
#每次都是隨機數對密碼庫的長度取餘,確保提取的密碼字符不超過密碼庫的長度
#每次循環提取一位隨機密碼,並將該隨機密碼追加到pass變量的最後
for i in {1..8}
do 
       index=$[RANDOM%num]
       pass=$pass${key:$index:1}
done
echo $pass

3.生成隨機密碼(UUID版本,16進制密碼)

#!/bin/bash
uuidgen

4.生成隨機密碼(進程ID版本,數字密碼)

#!/bin/bash
echo $$


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章