如何創建隨機密碼生成器

已發表: 2022-01-29

PCMag 的普通讀者都知道,我們強烈建議為每個網站使用複雜且唯一的密碼,而做到這一點的唯一方法是藉助密碼管理器。 使用所有密碼加載該工具是一個好的開始,但工作並不止於此。 除非您將每個弱密碼和重複使用的密碼替換為沒人能猜到的唯一密碼,甚至您都不記得,否則您不會受到完全保護。 蠻力密碼破解攻擊很可能會攻擊像 Rover 這樣的密碼,但當密碼是 ApiDiS57IhY1M#t%qIEg 之類的密碼時,它會失敗。

你從哪裡得到你的密碼?

問題是你從哪裡得到這些隨機密碼? 幾乎每個密碼管理器都有自己的隨機密碼生成器,其中一些比其他的更好。 但是,在大多數情況下,該程序使用所謂的偽隨機算法。 理論上,知道算法並有權訪問您生成的其中一個密碼的黑客可以復制所有後續生成的密碼(儘管這將非常困難)。 如果您足夠偏執,您可能想要創建自己的隨機密碼生成器。 我們可以幫助您使用 Microsoft Excel 構建它。

不可否認,一些安全任務超出了自己動手的領域,這是真的。 例如,您不會構建自己的虛擬專用網絡或 VPN。 但是構建這個小項目不需要高級知識,只需要遵循指令的能力。 它不使用宏或花哨的東西,只是普通的 Excel 函數。 請注意,此項目必然依賴 Excel 的偽隨機算法。 這裡的不同之處在於,壞人可以研究嵌入在任何公開可用的密碼管理器中的密碼生成器,而他們無法訪問您自製的密碼生成器。

我們的頂級密碼管理器精選

守護者新標誌

Keeper 密碼管理器和數字保險庫評論

4.5
傑出的
查看價格
Dashlane(徽標)

Dashlane 評論

4.0
優秀的
查看價格
最後通行證

LastPass 評論

4.0
優秀的
查看價格
麥基

Myki評論

4.5
傑出的
訪問MYKI網站
看見
查看全部(4 項)

創建密碼生成器腳手架

首先,讓我們創建將構建密碼生成器的腳手架,即標籤和靜態組件。 請把東西準確地放在我描述的單元格中,這樣公式就可以了。 一旦你讓它工作,你可以調整它,讓它完全屬於你自己。

在單元格 B1 中,輸入“隨機密碼生成器”或您希望為您的項目提供的任何標題。 從單元格 B3 開始向下,輸入標籤“長度”、“大寫字母”、“小寫字母”、“數字”和“特殊字符”。 跳過單元格 B8,在 B9 中輸入“按 F9 重新生成”,在 B10 中輸入“密碼”。 它應該如下圖所示。

密碼生成器 圖 1

在單元格 C3 中,輸入 16,或您首選的默認密碼長度。 在其下方的接下來的四個單元格中輸入“是”。 現在在單元格 D4 中輸入整個大寫字母,在 D5 中輸入整個小寫字母。 在 D6 中輸入 10 位數字以及要在 D7 中使用的任何特殊字符。 專業提示:將 0 放在數字列表的最後,而不是第一個,否則 Excel 會刪除它。 完成的腳手架應如下所示:

密碼生成器 圖 2

添加生成密碼的公式

首先,我們需要構建一個包含我們選擇使用的所有字符的文本字符串。 這樣做的公式看起來有點複雜,但實際上,它只是很長。 在單元格 D8 中輸入此公式:

=IF(C4="是",D4,"") &IF(C5="是",D5,"") &IF(C6="是",D6,"") &IF(C7="是",D7, "")

& 運算符將文本字符串粘合在一起。 這個公式的意思是,對於四個字符集中的每一個,如果相鄰單元格包含是,則包括字符集。 但是,如果該單元格包含除“是”以外的任何內容(無論大小寫如何),請不要包含它。 現在就試試; 將一些 Yes 單元格更改為 No、Nay 或 Frog。 可用字符的字符串會更改以匹配您所做的。

接下來是生成隨機密碼的公式。 在單元格 C10 中,從這個初步版本開始:

=中間(D8,RANDBETWEEN(1,LEN(D8)),1)

我會從裡到外打破那個。 LEN 函數返回您傳遞給它的任何值的長度,在本例中為可用字符串的長度。 毫不奇怪,調用 RANDBETWEEN 會在您給它的兩個數字之間返回一個隨機數,在本例中是一個和長度。 MID 函數返回輸入字符串的一部分,從您傳遞的第一個數字開始,一直持續到您指定的字符數,在本例中只有一個。 因此,此公式從可用字符集中返回一個隨機字符。 按 F9 告訴 Excel 重新計算所有函數; 嘗試幾次並觀察隨機字符變化。

當然,這只是一個字符,而不是整個密碼。 下一步有點麻煩,但實際上並不難。 在功能欄中單擊以編輯最後一個條目,在末尾附加一個 & 字符,突出顯示除等號以外的所有內容,然後按 Ctrl+C 將其複製到剪貼板。 假設我們希望最大密碼長度為 40 個字符。 因此,按 Ctrl+V 39 次。 刪除最後的 & 號,按 Enter,就完成了。

密碼生成器 圖 3

好吧,你差不多完成了。 如前所述,此密碼生成器始終創建 40 個字符的密碼。 我們需要將其輸出修剪到指定的長度。 此時保存您的工作,因為您將編輯那個長達一英里的公式; 您不想意外刪除它!

選擇生成密碼的公式,然後在等號後面的公式欄中單擊。 專業提示:此時按 Ctrl+Alt+U 可放大編輯欄。 鍵入 LEFT,後跟一個左括號。 滾動到公式的最後並鍵入逗號、C3 和右括號。 太棒了! 該公式現在將密碼修剪為您選擇的長度。

微調密碼生成器

密碼生成器此時已完全正常工作。 如果您對此感到滿意,那就太好了:您已經做到了! 但是,如果您有興趣,可以通過多種方式改進其外觀和功能。 對於初學者,右鍵單擊 D 列頂部的 D,然後從菜單中選擇隱藏。 現在您不必查看字符集列表和中間計算。

通常,您希望在密碼生成器中設置長度的上限和下限。 此外,如果您在“長度”字段中輸入除數字以外的任何內容,則公式將失敗。 我們可以解決這個問題。 單擊定義長度的單元格 C3,單擊功能區中的數據,然後選擇數據驗證。 如果您沒有看到“數據驗證”標籤,請將電子表格拉得更寬一些。

密碼生成器 圖 4

在出現的彈出窗口中,單擊允許下的下拉菜單並選擇整數。 取消選中忽略空白框,並將最小值設置為 8,將最大值設置為 40。當它看起來像這裡的屏幕截圖時,單擊下一個選項卡,輸入消息。 作為輸入消息,鍵入“輸入從 8 到 40 的長度”。 將該文本複製到剪貼板並將其粘貼到錯誤警報選項卡的錯誤消息字段中,然後單擊確定。 現在,當您單擊“長度”單元格時,系統會提示您輸入正確的長度,如果您輸入錯誤,則會收到一條信息性錯誤消息。

我們的編輯推薦

如何使用隨機密碼生成器

準備好進行最後一次調整了嗎? 在單元格 E1 中輸入“是”,在其下方輸入“否”。 單擊單元格 C4,即標籤大寫字母右側的單元格。 再次單擊功能區中的數據並選擇數據驗證。 從下拉列表中選擇列表,取消選中忽略空白,單擊源框,然後突出顯示單元格 E1 和 E2。 在輸入消息選項卡上,輸入“是或否”作為消息。 在錯誤警報頁面上,輸入“是或否”作為錯誤消息。 單擊確定完成。 將此單元格複製到其下方的三個單元格中。

而已! 現在這四個單元格只接受是或否作為值。 更好的是,現在每個都獲得了一個下拉列表,讓您選擇其中一個值。 哦,既然您已經完成了,請右鍵單擊 E 列頂部的大 E 並選擇隱藏,這樣您就不會看到輸入數據驗證系統的單元格。

此時,您可能想要發揮創意並添加格式以使您的密碼生成器看起來不那麼工業化。 選擇您喜歡的字體,添加顏色,調整內容,直到它看起來很棒。

最後,讓我們鎖定它,這樣您就不會因為在錯誤的單元格中輸入數據而意外破壞了公式。 突出顯示單元格 C3 到 C7(即長度單元格加上四個是/否單元格),右鍵單擊並選擇設置單元格格式。 單擊“保護”選項卡並取消選中名為“已鎖定”的複選框,然後單擊“確定”。 單擊功能區中的審閱,然後單擊保護工作表。 只需單擊確定以接受結果對話框中的設置; 您不是在嘗試對工作表進行密碼保護,而只是為了保護它免受手指摸索。 保存光榮的結果!

密碼生成器 圖 5

在 Google 表格中製作密碼生成器

我是 Excel 高手,在 Google 表格出現之前就一直如此。 也許甚至在谷歌存在之前! 但我知道很多人都對 Google 表格發誓,所以我啟動它以確保它支持這個項目。

我按照自己的說明在 Sheets 中構建密碼生成器,發現一切正常,直到顯示一個隨機字符的公式。 一切正常,但按 F9 未能刷新一個新的隨機字符。 諮詢谷歌,我發現要強制刷新必須按 F5,從而更新整個頁面,或者更改任何單元格的值。 這很尷尬但可行。 我將提示更改為“按 F5 重新生成”。

我沒有重新創建執行完整密碼生成的巨大公式,而是從我的 Excel 工作表中復制了它。 哈利路亞! 有效! 我不會在這裡詳細介紹,但我設法重新創建了數據驗證規則並隱藏了不需要的列。 如果您使用的是表格而不是 Excel,此項目仍然可以為您工作。

密碼生成器 圖 6

你做到了!

無論您是接受基本版本還是繼續應用花哨的調整,您現在都擁有自己編寫的密碼生成器。 誠然,Excel 確實使用了偽隨機數生成器,但您可以通過在接受生成的密碼之前反复點擊 F9 來添加自己的隨機性。 雖然黑客可能會對數百萬人使用的密碼管理產品中的密碼生成器進行逆向工程,但您的一次性實用程序並沒有受到關注。 你做到了!