Shell腳本生成隨機密碼的若干種可能
更新時間:2017年09月30日 10:59:30 作者:丁丁歷險 的BLOG
這篇文章主要介紹了Shell腳本生成隨機密碼的若干種可能,需要的朋友可以參考下
1.生成隨機密碼(urandom版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #/dev/urandom文件是Linux內置的隨機設備文件 #cat /dev/urandom可以看看里面的內容,ctrl+c退出查看 #查看該文件內容后,發(fā)現內容有些太隨機,包括很多特殊符號,我們需要的密碼不希望使用這些符號 #tr -dc '_A-Za-z0-9' </dev/urandom #該命令可以將隨機文件中其他的字符刪除,僅保留大小寫字母,數字,下劃線,但是內容還是太多 #我們可以繼續(xù)將優(yōu)化好的內容通過管道傳遞給head命令,在大量數據中僅顯示頭10個字節(jié) #注意A前面有個下劃線 tr -dc '_A-Za-z0-9' </dev/urandom | head -c 10
2.生成隨機密碼(字串截取版本)
#!/bin/bash
#Author:丁丁歷險(Jacob)
#設置變量key,存儲密碼的所有可能性(密碼庫),如果還需要其他字符請自行添加其他密碼字符
#使用$#統(tǒng)計密碼庫的長度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#設置初始密碼為空
pass=''
#循環(huán)8次,生成8為隨機密碼
#每次都是隨機數對密碼庫的長度取余,確保提取的密碼字符不超過密碼庫的長度
#每次循環(huán)提取一位隨機密碼,并將該隨機密碼追加到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 $$
總結
以上所述是小編給大家介紹的Shell腳本生成隨機密碼的若干種可能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
shell腳本中main函數中$#獲取不到腳本傳入參數個數淺析
Linux的shell腳本,有時候我們在運行shell腳本時會給腳本傳入參數,出于邏輯上的嚴謹,在腳本中可能會做一些邏輯判斷或處理,例如判斷腳本傳入參數的個數,這篇文章主要介紹了shell腳本中main函數中$#獲取不到腳本傳入參數個數淺析,需要的朋友可以參考下2024-03-03
實現釋放CentOS系統(tǒng)內存的Shell腳本分享
這篇文章主要介紹了實現釋放CentOS系統(tǒng)內存的Shell腳本分享,本文對一些小內存的VPS特別有用,需要的朋友可以參考下2014-12-12

