上個月公司搞了一次大規模的系統遷移,需要給三千多個新賬號設置初始密碼。
要求還挺多的:每個密碼8位,必須包含大寫字母、小寫字母和數字,不能有重復,而且要導出成表格方便后續分發。
最開始的做法
我第一反應是用Excel
問題來了:這樣生成的密碼沒法保證每一位的字符類型。比如我想讓第1位一定是大寫字母、最后一位一定是數字,中間6位隨機,Excel公式寫起來就很繞。
更麻煩的是去重。三千條密碼里難免有重復的,Excel里去重要用條件格式標出來再手動替換,來來回回折騰了好幾輪。
搞到晚上九點多,才弄出一份勉強能用的密碼表。
后來發現了更好的辦法
第二天跟同事吐槽這事,他說有專門的密碼批量生成工具,可以設定每一位用什么字符,自動去重,直接導出文件。
我找到了一個叫「密碼批量生成器專業版」的東西,試了一下。
打開軟件,長度填8,生成數量填3000。然后在"位置設置"的表格里,第1行(第1位)的固定字符填了個"A"(代表大寫字母集),第8行(最后一位)填了個"0"(代表數字集),中間6行選了"字母+數字"的類型。
勾上"內部去重",點了"生成并保存TXT",選了個文件夾。
大概兩三秒,完事了。打開文件一看,3000條密碼,每條8位,第一位都是大寫字母,最后一位都是數字,中間是隨機的字母數字組合。
我又用Excel打開檢查了一下,確實沒有重復的。
昨晚折騰到九點多的活兒,今天兩三秒就搞定了。
后來又用了幾次
第二次用是給測試環境生成測試數據。測試同事需要10萬條符合特定格式的字符串,格式是"兩位大寫字母+六位數字"。我在位置設置里前兩位填"A"(大寫字母集),后六位填"0"(數字集),數量填100000,點生成。大概十幾秒就出來了,自動分成了一個文件(因為默認每文件200萬條,10萬條用不著分)。
第三次用是做安全測試。需要生成一批4位純數字的密碼字典,也就是0000到9999的所有組合。這次我選了"生成所有可能組合"模式,長度填4,每一位選"數字"類型。點生成,瞬間出來10000條,從0000到9999一個不少。
還有一次比較特殊,需要生成的密碼里必須包含特殊符號。我在位置設置里把其中一位的固定字符填了"#"(代表特殊符號集),其他位用字母+數字,這樣生成出來的每條密碼都至少包含一個特殊符號。
一個挺實用的功能
軟件有個"保存配置"的按鈕,可以把當前的所有設置存成一個文件。下次需要用同樣的規則生成密碼時,點"加載配置"就能恢復所有設置,不用重新一個個填。
我現在把幾種常用的密碼規則都存了配置文件,需要的時候加載一下就行。
還有個"計算預估"的功能,生成之前可以先看看總共有多少種可能的組合、會生成多少個文件、文件大概多大。這個在生成大量數據之前很有用,免得一不小心生成了幾個G的文件把硬盤撐滿。
![]()
有個現成的工具,設置一下點個按鈕就出結果,確實省事不少。尤其是"每一位單獨設置字符規則"這個功能,用腳本實現起來也不算簡單,但在這個工具里就是表格里選一下的事。
需要批量生成密碼或者字符串組合的朋友,可以往這個方向找找方案,比手動拼或者寫臨時腳本效率高多了。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.