1.生成隨機(jī)密碼(urandom版本)
#!/bin/bash
#Author:丁丁歷險(xiǎn)(Jacob)
#/dev/urandom文件是Linux內(nèi)置的隨機(jī)設(shè)備文件
#cat /dev/urandom可以看看里面的內(nèi)容,ctrl+c退出查看
#查看該文件內(nèi)容后,發(fā)現(xiàn)內(nèi)容有些太隨機(jī),包括很多特殊符號(hào),我們需要的密碼不希望使用這些符號(hào)
#tr -dc '_A-Za-z0-9' /dev/urandom
#該命令可以將隨機(jī)文件中其他的字符刪除,僅保留大小寫字母,數(shù)字,下劃線,但是內(nèi)容還是太多
#我們可以繼續(xù)將優(yōu)化好的內(nèi)容通過管道傳遞給head命令,在大量數(shù)據(jù)中僅顯示頭10個(gè)字節(jié)
#注意A前面有個(gè)下劃線
tr -dc '_A-Za-z0-9' /dev/urandom | head -c 10
2.生成隨機(jī)密碼(字串截取版本)
#!/bin/bash
#Author:丁丁歷險(xiǎn)(Jacob)
#設(shè)置變量key,存儲(chǔ)密碼的所有可能性(密碼庫),如果還需要其他字符請(qǐng)自行添加其他密碼字符
#使用$#統(tǒng)計(jì)密碼庫的長(zhǎng)度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#設(shè)置初始密碼為空
pass=''
#循環(huán)8次,生成8為隨機(jī)密碼
#每次都是隨機(jī)數(shù)對(duì)密碼庫的長(zhǎng)度取余,確保提取的密碼字符不超過密碼庫的長(zhǎng)度
#每次循環(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)制密碼)
4.生成隨機(jī)密碼(進(jìn)程ID版本,數(shù)字密碼)
總結(jié)
以上所述是小編給大家介紹的Shell腳本生成隨機(jī)密碼的若干種可能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- 詳解Linux Shell 實(shí)現(xiàn)一個(gè)獲取任意位數(shù)的隨機(jī)密碼的腳本
- Shell創(chuàng)建用戶并生成隨機(jī)密碼腳本分享
- PowerShell生成隨機(jī)密碼的方法