linux作業系統的一大優點是對於同樣一件事情,你可以使用高達數百種方法來實現它。例如,你可以通過數十種方法來生成隨機密碼。本文將介紹生成隨機密碼的十種方法。
使用sha演算法來加密日期,並輸出結果的前10個字元:
[root@kafka60 shell]# date +%s |sha256sum |base64 |head -c 10 ;echo
ytc4mjk0yj
2. 使用內嵌的/dev/urandom,並過濾掉那些日常不怎麼使用的字元。這裡也只輸出結果的前32個字元:
複製**
1 #tr引數
2 -c或——complerment:取代所有不屬於第一字符集的字元;
3 -d或——delete:刪除所有屬於第一字符集的字元;
4 1.生成10個小寫字母
5 [root@kafka60 shell]# < /dev/urandom tr -dc a-z|head -c $;echo
6 iprnfrqlhr
7 2.生成10個大寫字母
8 [root@kafka60 shell]# < /dev/urandom tr -dc a-z|head -c $;echo
9 psksfzyqph
10 3.生成10個數字
11 [root@kafka60 shell]# < /dev/urandom tr -dc 0-9|head -c $;echo
12 7341384592
13 4.生成10個數字和大寫字母的組合字串
14 [root@kafka60 shell]# < /dev/urandom tr -dc 0-9-a-z|head -c $;echo
15 m6hp4lhtnj
16 5.生成10個隨機字元(包含數字,大寫字母,小寫字母)
17 [root@kafka60 shell]# < /dev/urandom tr -dc 0-9-a-z-a-z|head -c $;echo
18 79juycjrjx
19 6.生成10個隨機字元(包含數字,大寫字母,小寫字母)
20 [root@kafka60 shell]# < /dev/urandom tr -dc 0-9-a-z-a-z-|head -c $;echo
21 jdoi4tmmzd
22 7.生成10個隨機字元(包含數字,大寫字母,小寫字母,特殊字元)
23 [root@kafka60 shell]# < /dev/urandom tr -dc 0-9-a-z-a-z-/|head -c $;echo
24 s5-ytgma8g
複製**
3. 使用openssl的隨機函式
複製**
[root@kafka60 shell]# openssl rand -base64 10
6kf9chiirgisvq==
[root@kafka60 shell]# openssl rand -base64 10|tr a-z a-z
1ivhbhsrvjsfsa==
[root@kafka60 shell]# openssl rand -base64 32|tr a-z a-z|cut -c 1-10
hbxd/42tag
複製**
4. 這種方法類似於之前的urandom,但它是反向工作的。
[root@kafka60 shell]# tr -cd 『[:alnum:]』 [root@kafka60 shell]# strings /dev/urandom | grep -o 『[[:alnum:]]』 | head -n 32 | tr -d 『\n』; echo
zfsi9lmfbe6igwotelx0o85sx1hl2ux7
6. 這是使用urandom的乙個更簡單的版本
複製**
[root@kafka60 shell]# [root@kafka60 shell]# dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
t5cfmbatx1xcuo+aa4wk+xkf/ydh1vqoveyl8ocxmsw
[root@kafka60 shell]# dd if=/dev/urandom bs=1 count=10 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
kqqr7opaoahsig=
8. 你甚至可以生成乙個只用左手便可以輸入的密碼
[root@kafka60 shell]# xrz
qrtx
vwzt
2eaa
13ad!
gbt2
rsvb
af
%qwertqwertasdfgasdfgzxcvbzxcvb' | head -c32; echo xrzqrtxvwzt2eaa13ad!gbt2rsvbaf
xrzqrt
xvwz
t2ea
a13a
d!gb
t2rs
vbaf
r[root@kafka60 shell]# !t#@c3@qte
Linux系統生成隨機密碼
mkpasswd是可以隨機生成密碼,並且在隨機生成密碼時可以給使用者直接改密 語法 mkpasswd args user 常用引數 l 定義口令的長度,預設值為9 d 定義密碼的最小數目,預設值是2 c 定義在密碼中小寫字母字元的最小數目,預設值是2 c 定義在密碼中大寫字母字元的最小數目,預設值是...
利用Linux系統生成隨機密碼的8種方法
參考 linux作業系統的一大優點是對於同樣一件事情,你可以使用高達數百種方法來實現它。例如,你可以通過數十種方法來生成隨機密碼。本文將介紹生成隨機密碼的十種方法。1.使用sha演算法來加密日期,並輸出結果的前10個字元 root kafka60 shell date s sha256sum bas...
生成隨機密碼
編寫乙個函式,用於生成隨機密碼,入參為隨機密碼的長度,出參為生成的隨機密碼,要求生成的隨機密碼必須同時包含大寫字母小寫字母數字。生成隨機碼,引數為隨機碼長度,同時包含大小寫字母和數字 public string getrandomnum int length listlist new arrayli...