วิธีใช้งาน
- ตั้งความยาวด้วยแถบเลื่อน หรือพิมพ์จำนวนอักขระที่ต้องการโดยตรง (4–128)
- เลือกประเภทอักขระที่ต้องการรวมไว้ แก้ไขรายการสัญลักษณ์ได้หากเว็บไซต์ยอมรับสัญลักษณ์เพียงบางตัว
- เลือกไม่รวมอักขระที่หน้าตาคล้ายกันได้ และเปิด “ใช้ทุกประเภทที่เลือกอย่างน้อยหนึ่งตัว” สำหรับเว็บไซต์ที่มีกฎองค์ประกอบรหัสผ่าน
- คัดลอกรหัสผ่านรายการเดียว หรือใช้ “คัดลอกทั้งหมด” เพื่อคัดลอกทุกรหัสผ่าน บรรทัดละหนึ่งรหัส กด “สร้างอีกครั้ง” เพื่อรับชุดใหม่
วิธีการทำงาน
อักขระทุกตัวถูกเลือกด้วย crypto.getRandomValues ซึ่งเป็นตัวสร้างตัวเลขสุ่มที่ปลอดภัยเชิงการเข้ารหัสที่ฝังอยู่ในเบราว์เซอร์ของคุณ โดยไม่มีการใช้ Math.random เลย ในการเลือกอักขระหนึ่งตัวจากชุดอักขระ n ตัว เครื่องมือจะสุ่มตัวเลข 32 บิตและทิ้งค่าที่อยู่ในช่วงเศษเหลือเล็กน้อยเหนือผลคูณที่มากที่สุดของ n การสุ่มแบบปฏิเสธ (rejection sampling) นี้ช่วยหลีกเลี่ยงอคติจากเศษเหลือ (modulo bias) ดังนั้นอักขระทุกตัวในชุดจึงมีโอกาสถูกเลือกเท่ากันทุกประการ
เมื่อเปิดตัวเลือก “ใช้ทุกประเภทที่เลือกอย่างน้อยหนึ่งครั้ง” เครื่องมือจะเลือกอักขระหนึ่งตัวจากแต่ละประเภทที่เลือกก่อน เติมตำแหน่งที่เหลือจากชุดรวม แล้วสลับตำแหน่งทั้งหมดด้วยการสลับแบบ Fisher–Yates ซึ่งขับเคลื่อนด้วยแหล่งสุ่มที่ปราศจากอคติเดียวกัน วิธีนี้ทำให้อักขระที่บังคับไว้ไม่ปรากฏเฉพาะตอนต้นเสมอ
ค่าเอนโทรปีคำนวณจาก log2(ขนาดชุดอักขระ) × ความยาว รหัสผ่าน 16 ตัวอักษรจากชุดอักขระเริ่มต้นทั้งหมด 89 ตัวมีเอนโทรปีประมาณ 103 บิต และรหัสผ่าน 20 ตัวอักษรมีประมาณ 129 บิต กฎ “ใช้ทุกประเภท” ทำให้จำนวนรหัสผ่านที่เป็นไปได้ลดลงเล็กน้อย ดังนั้นเอนโทรปีจริงจึงต่ำกว่าที่แสดงเล็กน้อย ป้ายกำกับเป็นเพียงแนวทางคร่าว ๆ: ต่ำกว่า 28 บิตถือว่าอ่อนแอมาก 28–39 อ่อนแอ 40–59 พอใช้ 60–99 แข็งแกร่ง และ 100 ขึ้นไปแข็งแกร่งมาก เอนโทรปีอธิบายเฉพาะรหัสผ่านที่สร้างแบบสุ่มเช่นนี้เท่านั้น ไม่ได้บอกอะไรเกี่ยวกับรหัสผ่านที่มนุษย์คิดขึ้นเอง
ตัวอย่าง
รหัสผ่านสำหรับรายการในตัวจัดการรหัสผ่าน
คงค่าเริ่มต้นไว้ (20 ตัวอักษร ครบทั้งสี่ประเภท) ผลลัพธ์จะมีเอนโทรปีประมาณ 129 บิต ซึ่งเกินกว่าที่จะคาดเดาได้มาก และตัวจัดการรหัสผ่านจะจดจำให้คุณ
เว็บไซต์ที่ไม่ยอมรับสัญลักษณ์บางตัว
หากธนาคารยอมรับเฉพาะ !@#$% ให้เปลี่ยนรายการสัญลักษณ์เป็นอักขระทั้งห้าตัวนั้น ชุดอักขระจะลดลงเหลือ 67 ตัว ดังนั้นรหัสผ่าน 16 ตัวอักษรจึงยังมีเอนโทรปีประมาณ 97 บิต
รหัสผ่าน Wi-Fi ที่ต้องพิมพ์บนทีวี
ปิดสัญลักษณ์และยกเว้นอักขระที่ดูคล้ายกัน หากไม่มี I, l, 1, O, 0 และ o รหัสผ่าน 16 ตัวอักษรจากชุดตัวอักษรและตัวเลข 56 ตัวที่เหลือจะอ่านออกเสียงได้ง่ายและยังมีเอนโทรปีประมาณ 93 บิต
คำถามที่พบบ่อย
รหัสผ่านควรยาวแค่ไหน
สำหรับบัญชีที่ได้รับการป้องกันด้วยตัวจัดการรหัสผ่าน อักขระสุ่ม 16–20 ตัวก็เพียงพอแล้ว หากคุณต้องพิมพ์รหัสผ่านบ่อย ๆ รหัสผ่านที่ยาวขึ้นโดยใช้เฉพาะตัวอักษรและตัวเลขจะป้อนได้ง่ายกว่า และอาจแข็งแกร่งไม่แพ้รหัสผ่านสั้นที่มีสัญลักษณ์
การสร้างรหัสผ่านบนเว็บไซต์ปลอดภัยหรือไม่
หน้านี้สร้างรหัสผ่านทั้งหมดในเบราว์เซอร์ของคุณโดยใช้แหล่งสุ่มที่ปลอดภัยของระบบปฏิบัติการ รหัสผ่านจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ไม่ถูกบันทึก หรือรวมอยู่ในข้อมูลวิเคราะห์ คุณสามารถตัดการเชื่อมต่ออินเทอร์เน็ตหลังจากหน้าเว็บโหลดเสร็จ แล้วเครื่องมือยังทำงานได้ต่อ
ทำไมการไม่รวมอักขระที่หน้าตาคล้ายกันจึงลดเอนโทรปี
เอนโทรปีขึ้นอยู่กับจำนวนอักขระที่แต่ละตำแหน่งเลือกได้ การนำอักขระออกจะทำให้ชุดตัวเลือกเล็กลง อักขระแต่ละตัวจึงเพิ่มบิตน้อยลงเล็กน้อย การเพิ่มความยาวอีกสองสามตัวจะช่วยชดเชยได้
“modulo bias” หมายถึงอะไร และทำไมจึงสำคัญ
ตัวสร้างแบบง่ายจะสุ่มตัวเลขแล้วใช้เศษจากการหารด้วยขนาดชุดอักขระ หากขนาดชุดอักขระหารช่วงตัวเลขสุ่มไม่ลงตัว อักขระบางตัวจะถูกเลือกบ่อยกว่าเล็กน้อย เครื่องมือนี้จะตัดเศษที่ไม่เท่ากันแล้วสุ่มใหม่ ทำให้อักขระทุกตัวมีโอกาสเท่ากัน
ความเป็นส่วนตัว
รหัสผ่านถูกสร้างในเบราว์เซอร์ของคุณด้วย crypto.getRandomValues รหัสผ่านจะไม่ถูกอัปโหลด บันทึก เก็บบันทึก หรือส่งไปยังระบบวิเคราะห์ มีเพียงเหตุการณ์แบบไม่ระบุตัวตนว่าใช้เครื่องมือนี้เท่านั้นที่ถูกบันทึก การคัดลอกใช้คลิปบอร์ดของอุปกรณ์คุณ