Shell腳本生成隨機(jī)密碼的若干種可能
1.生成隨機(jī)密碼(urandom版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #/dev/urandom文件是Linux內(nèi)置的隨機(jī)設(shè)備文件 #cat /dev/urandom可以看看里面的內(nèi)容,ctrl+c退出查看 #查看該文件內(nèi)容后,發(fā)現(xiàn)內(nèi)容有些太隨機(jī),包括很多特殊符號,我們需要的密碼不希望使用這些符號 #tr -dc '_A-Za-z0-9' </dev/urandom #該命令可以將隨機(jī)文件中其他的字符刪除,僅保留大小寫字母,數(shù)字,下劃線,但是內(nèi)容還是太多 #我們可以繼續(xù)將優(yōu)化好的內(nèi)容通過管道傳遞給head命令,在大量數(shù)據(jù)中僅顯示頭10個字節(jié) #注意A前面有個下劃線 tr -dc '_A-Za-z0-9' </dev/urandom | head -c 10
2.生成隨機(jī)密碼(字串截取版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #設(shè)置變量key,存儲密碼的所有可能性(密碼庫),如果還需要其他字符請自行添加其他密碼字符 #使用$#統(tǒng)計密碼庫的長度 key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" num=${#key} #設(shè)置初始密碼為空 pass='' #循環(huán)8次,生成8為隨機(jī)密碼 #每次都是隨機(jī)數(shù)對密碼庫的長度取余,確保提取的密碼字符不超過密碼庫的長度 #每次循環(huán)提取一位隨機(jī)密碼,并將該隨機(jī)密碼追加到pass變量的最后 for i in {1..8} do index=$[RANDOM%num] pass=$pass${key:$index:1} done echo $pass
3.生成隨機(jī)密碼(UUID版本,16進(jìn)制密碼)
#!/bin/bash uuidgen
4.生成隨機(jī)密碼(進(jìn)程ID版本,數(shù)字密碼)
#!/bin/bash echo $$
總結(jié)
以上所述是小編給大家介紹的Shell腳本生成隨機(jī)密碼的若干種可能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個數(shù)淺析
Linux的shell腳本,有時候我們在運(yùn)行shell腳本時會給腳本傳入?yún)?shù),出于邏輯上的嚴(yán)謹(jǐn),在腳本中可能會做一些邏輯判斷或處理,例如判斷腳本傳入?yún)?shù)的個數(shù),這篇文章主要介紹了shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個數(shù)淺析,需要的朋友可以參考下2024-03-03expect實(shí)現(xiàn)單臺、多臺服務(wù)器批量scp傳輸文件
這篇文章主要介紹了expect實(shí)現(xiàn)單臺、多臺服務(wù)器批量scp傳輸文件,本文提供了單臺傳輸腳本、多臺傳輸腳本及服務(wù)器信息配置文件,需要的朋友可以參考下2014-12-12ubuntu修改terminal終端的主機(jī)名的實(shí)現(xiàn)方法
這篇文章主要介紹了ubuntu修改terminal終端的主機(jī)名的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助大家,需要的朋友可以參考下2017-08-08linux shell腳本學(xué)習(xí)錄制與回放終端會話
這篇文章主要介紹了linux錄制與回放終端會話實(shí)例,大家參考使用吧2013-12-12實(shí)現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享
這篇文章主要介紹了實(shí)現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享,本文對一些小內(nèi)存的VPS特別有用,需要的朋友可以參考下2014-12-12Linux系統(tǒng)診斷之內(nèi)存基礎(chǔ)深入詳解
這篇文章主要介紹了Linux系統(tǒng)診斷之內(nèi)存基礎(chǔ)深入詳解,雖然是基礎(chǔ)但是列舉的很詳細(xì),有感興趣的同學(xué)可以研究下2021-03-03