溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell腳本如何生成隨機(jī)密碼

發(fā)布時間:2021-06-24 12:20:56 來源:億速云 閱讀:494 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Shell腳本如何生成隨機(jī)密碼,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

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)計(jì)密碼庫的長度
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 $$

以上是“Shell腳本如何生成隨機(jī)密碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI