1. 程式人生 > 電腦技巧 >Excel 以亂數產生隨機密碼的公式教學

Excel 以亂數產生隨機密碼的公式教學

在 Excel 中以亂數自動產生隨機的密碼。


問題

如何在 Excel 中自動產生隨機的亂數密碼,包含大、小寫英文字母、數字與特殊符號等?

解法

Excel 中有許多可以用來產生亂數的函數,只要善用這類的函數,就可以快速產生各式各樣的隨機密碼,以下是產生各種密碼的方式與範例。

基本密碼產生方式

一般的密碼大概都是由「大寫英文」、「小寫英文」、「數字」與「特殊符號」所組成的,若要產生這些資料,可以在查詢 ASCII 表之後,使用 RANDBETWEEN 產生對應的亂數值,再透過 CHAR 轉為對應的字符。

舉例來說,若要以亂數產生一個大寫英文字母,可以先用 RANDBETWEEN 產生一個 65 到 90 之間的數字(也就是 A 到 Z 的 ASCII 碼),然後再用 CHAR 轉為對應的英文字母:

=CHAR(RANDBETWEEN(65,90))

隨機產生大寫英文字母類似的方式也可以用於產生一個小寫英文字母:

=CHAR(RANDBETWEEN(97,122))

隨機產生小寫英文字母如果單純只要產生隨機的數字,就只要呼叫一次 RANDBETWEEN 函數,即可產生多個數字。例如以亂數產生三個數字:

=RANDBETWEEN(100,999)

隨機產生數字如果要讓密碼強度更高,可以將亂數的範圍設定為整個 ASCII「可顯示字元」的範圍,直接從大、小寫英文字母、數字或符號中取出字符:

=CHAR(RANDBETWEEN(33,126))

隨機產生可顯示字元

產生隨機密碼

熟悉了基本的亂數字符產生方式之後,只要把它們用 & 這個字串連接運算子串接起來,就可以生成我們需要的隨機密碼了。

例如若想要產生兩個大寫英文,加上四位數字的密碼,就可以這樣寫:

=CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(1000,9909)

產生隨機密碼若要產生長度為 8,包含大小寫英文、數字與特殊符號的密碼,可以這樣寫(也就是把 8 個產生「可顯示字元」的公式串起來):

=CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))&CHAR(RANDBETWEEN(33,126))

產生隨機密碼