Linux命令行生成隨機密碼的方法有哪些?

Linux操作系統(tǒng)的一大優(yōu)點是對于同樣一件事情,我們可以用多種方法來實現(xiàn)。當然,我們也可以用不同的方法來生成隨機的密碼。生成隨機密碼可以通過簡單的修改來生成特定長度的密碼,或者只使用其輸出結(jié)果的前N位。當然要記得備份密碼哦。那么生成這些隨機密碼的方法有哪些呢?

Linux命令行生成隨機密碼的方法有哪些?

1、SHA 算法。這種方法使用SHA算法來加密日期,并輸出結(jié)果的前32個字符:

date +%s | sha256sum | base64 | head -c 32 ; ech0

2、第二種方法可以使用內(nèi)嵌的/dev/urandom,并過濾掉那些日常不怎么使用的字符。這里也只輸出結(jié)果的前32個字符:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

3、第三種方法可以使用openssl的隨機函數(shù)。如果你的系統(tǒng)也許沒有安裝openssl,你可以嘗試其它九種方法或自己安裝openssl。

openssl rand -base64 32

4、第四種方法類似于之前的urandom,但它是反向工作的。Bash的功能是非常強大的!

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

5、第五種方法是使用urandom的一個更簡單的版本:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

6、第六種方法使用非常有用的dd命令:

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

7、如果每次都使用上述某種方法,那更好的辦法是將它保存為函數(shù)。如果這樣做了,那么在首次運行命令之后,你便可以在任何時間只使用randpw就可以生成隨機密碼。或許你可以把它保存到你的~/.bashrc文件里面。

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

以上是一些簡單的生成隨機密碼的方法, 當然這也并不是全部的方法,對于Linux操作系來說,多尋找一些方法并不困難,對于想要生成隨機密碼的童鞋們,可以嘗試一下哦。