Linux系統生成隨機密碼

2021-09-17 01:14:41 字數 2551 閱讀 7545

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...