隨機密碼產生器
這項工具會在目前瀏覽器中產生一組或多組隨機字串。你可以調整長度、數量、允許使用的字元類別及要排除的字元。密碼產生函式不會主動傳送或儲存輸出結果。
建議透過可信任的密碼管理器,替每個帳號保存不同密碼。隨機密碼只有在未遭洩露,且目標服務接受其長度與字元時才能發揮作用。
產生方式
SoupCalc 會將使用者選取的小寫字母、大寫字母、數字及符號合併成一個字元池,再移除排除清單中的每個字元。工具透過瀏覽器的 Web Crypto API 取得無符號 32 位元隨機數。
如果隨機數範圍不能被字元池大小整除,直接取餘數會讓少數字元出現的機率稍高。目前實作採用拒絕取樣,先捨棄最高端不完整區間內的隨機值,其餘數值才對應到字元。瀏覽器的密碼學隨機來源正常運作時,這個步驟可維持均勻對應。
產生器會從合併後的字元池逐一抽取。它不保證每組密碼一定包含所選每一類字元。若網站規定必須同時出現指定字元類別,應檢查輸出或重新產生。
完整範例
假設選取小寫字母、大寫字母與數字,保留預設排除清單,並要求 16 個字元。排除後的字元池共有 51 個字元,當中包含 21 個小寫字母、23 個大寫字母及 7 個數字。
理論搜尋空間為 51¹⁶。在每個位置都均勻獨立產生且結果沒有外洩的條件下,資訊量約為 16 × log₂(51) = 90.8 位元。每次按下產生按鈕都會取得新的不可預測結果,因此在說明文字中放置固定範例密碼容易造成誤用,也不應複製成多人共用的密碼。
產生的密碼應只用於一個帳號,並直接存入密碼管理器。情況允許時,也應清除剪貼簿紀錄,避免在共享畫面中顯示密碼。
安全性解讀
長度與唯一性通常比可預測的人為組合規則更重要。現行 NIST 對驗證端的指引要求,僅以密碼作為單一驗證因素時至少應有 15 個字元。密碼只用在多因素驗證的一部分時,最低可為 8 個字元。指引也建議系統至少允許 64 個字元,實際接收密碼的服務可能採用不同規則。
有條件時應啟用多因素驗證或通行金鑰。密碼無法抵抗網路釣魚,長隨機密碼也無法防止惡意軟體、受入侵的瀏覽器擴充功能、欺騙性的帳號復原流程或把憑證交給錯誤網站。
不要只為符合過時的固定週期要求而更換強度足夠且沒有重複使用的密碼。發現外洩跡象、密碼曾重複使用,或服務通知憑證已曝光時,才應立即更換。
安全邊界
- 產生作業發生在目前的瀏覽器環境,裝置、瀏覽器、擴充功能、依賴套件或頁面遭入侵時,本機生成也可能失去保護
- 不要在公共或不可信任的電腦上產生敏感憑證
- 工具不會把輸出與已外洩密碼封鎖清單比對,隨機生成可降低常見人工選擇出現的機率,但不會檢查產生後是否外洩
- 排除字元會縮小字元池,系統允許時可增加長度作為補償
- 理論位元數假設每次取樣相互獨立、分布均勻且密碼保持隱密,不能保證帳號安全或實際破解時間
- SoupCalc 無法找回已產生的密碼,離開頁面前應妥善保存
資料來源
- NIST SP 800-63B 密碼驗證要求
- NIST SP 800-63B 密碼強度說明
- W3C Web Cryptography API
- MDN Crypto.getRandomValues 文件
編輯紀錄
本文由 SoupCalc 編輯團隊撰寫並人工複核。本機產生流程、拒絕取樣行為及完整範例已依目前實作與自動化測試檢查。最後複核日期為 2026 年 8 月 10 日。在全部核准語言版本通過審核前,本頁不會開放索引或廣告。