🔑 สุ่มในเครื่องคุณเอง ไม่มีการบันทึก

สุ่มรหัสผ่าน

สร้างรหัสผ่านที่เดายากด้วยตัวสุ่มระดับเข้ารหัสของเบราว์เซอร์ พร้อมบอกตามตรงว่าต้องใช้เวลาเดานานแค่ไหน — รหัสที่ได้ไม่เคยออกจากเครื่องคุณ

กำลังสร้าง…
16
ชนิดตัวอักษรที่ใช้

ความยาวสำคัญกว่าความซับซ้อน

คนส่วนใหญ่เชื่อว่ารหัสผ่านที่ดีคือรหัสที่มีสัญลักษณ์แปลก ๆ เยอะ ๆ แต่ความจริงคือความยาวเพิ่มความปลอดภัยได้มากกว่ามาก เพราะทุกตัวอักษรที่เพิ่มเข้าไปจะคูณจำนวนความเป็นไปได้ทั้งหมด

รหัสผ่าน ความยาก เวลาที่ใช้เดา
P@ss1! (6 ตัว ครบทุกกลุ่ม)39 บิตไม่ถึงหนึ่งนาที
P@ssw0rd123 (11 ตัว แต่เป็นคำที่รู้จัก)ต่ำมากเกือบทันที — อยู่ในคลังคำที่โปรแกรมเดารหัสลองก่อน
สุ่ม 12 ตัว ครบทุกกลุ่ม79 บิตราว 1,900 ปี
สุ่ม 16 ตัว ครบทุกกลุ่ม105 บิตนานกว่าอายุของจักรวาล
ประโยค 6 คำ55 บิตราว 65 ปี

ตัวเลขคำนวณจากสมมติฐานว่าผู้โจมตีขโมยฐานข้อมูลไปแล้วและเดาแบบออฟไลน์ด้วยการ์ดจอที่ความเร็ว 10,000 ล้านครั้งต่อวินาที ซึ่งเป็นกรณีที่แย่ที่สุดที่พบจริง

สังเกตแถวที่สอง: P@ssw0rd123 ยาวกว่าแถวแรกและมีครบทุกกลุ่ม แต่กลับอ่อนที่สุด เพราะโปรแกรมเดารหัสไม่ได้ลองสุ่มมั่ว — มันลองคำในพจนานุกรมพร้อมการแทนตัวอักษรแบบที่คนชอบใช้ (a→@, o→0, i→1) ก่อนเสมอ ความสุ่มจริงเท่านั้นที่นับ

ตัวสุ่มที่ใช้ต่างจาก Math.random อย่างไร

เว็บสุ่มรหัสผ่านจำนวนไม่น้อยใช้ Math.random() ซึ่งไม่ได้ออกแบบมาเพื่องานความปลอดภัย — ค่าที่ได้มาจากสูตรคณิตศาสตร์ที่ถ้ารู้สถานะภายในก็ทำนายค่าถัดไปได้

หน้านี้ใช้ crypto.getRandomValues() ซึ่งดึงความสุ่มจากระบบปฏิบัติการโดยตรง และใช้วิธี rejection sampling ในการย่อค่าลงมาให้อยู่ในช่วงที่ต้องการ แทนการหารเอาเศษเฉย ๆ ที่จะทำให้ตัวอักษรต้น ๆ ของชุดถูกเลือกบ่อยกว่าตัวท้าย — เป็นรายละเอียดเล็กแต่คือหัวใจของเครื่องมือสุ่มรหัสผ่าน

ประโยครหัสผ่าน — ใช้เมื่อไรถึงเหมาะ

ประโยครหัสผ่านคือการเอาคำสุ่มมาต่อกัน เช่น river-lamp-quiz-fold-mint-echo จุดเด่นคือพิมพ์ง่ายและจำได้ ซึ่งสำคัญมากกับรหัสไม่กี่ตัวที่คุณต้องพิมพ์เองจริง ๆ

สิ่งที่ควรทำจริง ๆ กับรหัสผ่าน

  1. ห้ามใช้รหัสซ้ำข้ามเว็บ — นี่คือข้อที่สำคัญที่สุด เพราะเมื่อเว็บใดเว็บหนึ่งข้อมูลรั่ว ผู้โจมตีจะเอาคู่อีเมล-รหัสนั้นไปลองกับเว็บอื่นทันที (เรียกว่า credential stuffing)
  2. ใช้โปรแกรมจัดการรหัสผ่าน — เพื่อให้ทุกเว็บมีรหัสไม่ซ้ำกันโดยคุณจำแค่รหัสหลักอันเดียว
  3. เปิดยืนยันตัวตนสองชั้น (2FA) — ป้องกันได้แม้รหัสจะรั่ว โดยเฉพาะกับอีเมลหลักซึ่งเป็นกุญแจไปสู่บัญชีอื่นทั้งหมด
  4. ไม่ต้องเปลี่ยนตามรอบเวลา — แนวทางปัจจุบันของ NIST เลิกแนะนำการบังคับเปลี่ยนทุก 90 วันแล้ว เพราะทำให้คนตั้งรหัสง่ายลงเรื่อย ๆ ให้เปลี่ยนเมื่อสงสัยว่ารั่วเท่านั้น

คำถามที่พบบ่อย (FAQ)

รหัสผ่านที่สุ่มจากเว็บนี้ปลอดภัยไหม

ปลอดภัย เพราะสุ่มด้วย crypto.getRandomValues ในตัวเบราว์เซอร์ และรหัสที่ได้ไม่เคยถูกส่งออกจากเครื่องคุณ ไม่มีการบันทึกที่ใดทั้งสิ้น (อ่านนโยบายความเป็นส่วนตัว) — ถ้าอยากมั่นใจที่สุด ตัดเน็ตแล้วกดสุ่มก็ยังใช้งานได้ปกติ

รหัสผ่านควรยาวเท่าไรถึงจะพอ

บัญชีทั่วไปอย่างน้อย 12 ตัว ส่วนอีเมลหลัก ธนาคาร และบัญชีสำคัญควรใช้ 16 ตัวขึ้นไปที่มีครบทุกกลุ่ม

ประโยครหัสผ่านดีกว่ารหัสสุ่มไหม

ดีกว่าตรงที่จำและพิมพ์ง่าย เหมาะกับรหัสที่ต้องพิมพ์เองบ่อย แต่ต้องใช้ 6 คำขึ้นไป ส่วนรหัสของเว็บทั่วไปควรใช้แบบสุ่มยาว ๆ แล้วให้โปรแกรมจัดการรหัสผ่านจำแทน

ต้องเปลี่ยนรหัสผ่านทุก 3 เดือนไหม

ไม่จำเป็น แนวทางปัจจุบันของ NIST เลิกแนะนำแล้ว ให้เปลี่ยนเมื่อมีเหตุสงสัยว่ารหัสรั่วเท่านั้น

ทำไมบางเว็บไม่รับสัญลักษณ์บางตัว

เป็นข้อจำกัดของระบบเว็บนั้นเอง ถ้าเจอกรณีนี้ให้ปิดตัวเลือกสัญลักษณ์แล้วเพิ่มความยาวชดเชย — รหัส 20 ตัวที่มีแค่ตัวอักษรกับตัวเลขยังแข็งแรงกว่ารหัส 10 ตัวที่มีสัญลักษณ์ครบ

เครื่องมืออื่นที่อาจได้ใช้