安全隨機字串與 Entropy
本工具以瀏覽器 crypto.getRandomValues() 取得作業系統提供的密碼學安全亂數,再用拒絕取樣避免簡單取模造成的偏差。它適合建立測試識別碼、臨時 Token、Nonce、檔名與不可預測字串;若用於正式認證系統,仍需配合伺服器端生命週期、雜湊儲存與權限控制。
一般可重複模式的理論熵值約為 長度 × log₂(字元池大小)。啟用不重複字元後,可能組合數會隨每次抽取而下降,因此工具以逐次可選字元數估算。熵值衡量的是可能性空間,不代表字串在特定系統中一定安全。
格式怎麼選?
- 一般字串:可精細控制大小寫、數字、符號與自訂字元。
- URL Safe:只使用適合網址片段的英數字、連字號與底線。
- Hex:僅含 0–9 與 a–f,適合顏色、雜湊片段或低階資料表示。
- 英數字:避免符號造成表單或命令列轉義問題。
常見問題
是否使用 Math.random()?
沒有。所有字元索引都由 Web Crypto API 產生,並使用拒絕取樣降低分布偏差。
Entropy 是密碼強度保證嗎?
不是。它是理論可能性估算,實際安全性還取決於保存方式、用途、洩漏風險與攻擊模型。
不重複字元為何限制長度?
每個字元只能使用一次,因此長度不能超過去重後的字元池大小。
URL Safe 能直接當網址嗎?
其字元適合網址路徑或查詢值,但完整 URL 仍應依所在元件正確編碼。
一次最多能產生多少組?
每次最多 1000 組,避免極端輸入讓頁面失去回應。