เครื่องสร้างรหัสผ่าน
ตัวเลือกขั้นสูง
คำมาจากรายการคำศัพท์ภาษาอังกฤษของ EFF ดังนั้นวลีรหัสผ่านจะอ่านเป็นภาษาอังกฤษไม่ว่าคุณจะใช้ภาษาใด
รายการคำศัพท์: EFF large wordlist โดย Electronic Frontier Foundation ภายใต้สัญญาอนุญาต CC BY 3.0 US eff.org/diceแสดงวิธีคำนวณ
| เวลาที่ใช้ในการเจาะรหัส |
|---|
เซสชันนี้
สร้างหลายรายการพร้อมกัน
การตั้งค่าที่บันทึกไว้
รหัสผ่าน วลีรหัสผ่าน PIN และคีย์
แท็บด้านบนผลลัพธ์สลับระหว่างความลับสี่แบบ ทั้งหมดใช้แหล่งสุ่มในเครื่องเดียวกัน มีเพียงชุดอักขระและกฎเท่านั้นที่ต่างกัน
สุ่ม — ความยาว 4 ถึง 128 ตัวอักษร ผสมตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์ตามต้องการ ใน ตัวเลือกขั้นสูง ตั้งค่าไม่ใช้อักขระที่คล้ายกัน (0/O, 1/l/I) ห้ามอักขระบางตัวที่เว็บไซต์ปฏิเสธ กำหนดจำนวนขั้นต่ำต่อประเภทอักขระ ห้ามอักขระซ้ำหรือลำดับต่อเนื่องอย่าง abc และ qwe หรือกำหนดรูปแบบด้วยเทมเพลต (A ตัวพิมพ์ใหญ่, a ตัวพิมพ์เล็ก, # ตัวเลข, ! สัญลักษณ์, C พยัญชนะ, v สระ)
วลีรหัสผ่าน — หลายคำสุ่มแทนสตริงยุ่งเหยิงตัวเดียว แนวคิดแบบ correct-horse-battery-staple จาก XKCD 936 คำมาจาก EFF large wordlist 7,776 คำ แต่ละคำเพิ่มเอนโทรปี 12.9 บิต ห้าคำจึงได้ประมาณ 65 บิต — เทียบเท่ารหัสผ่านสุ่ม 10 ตัวอักษรที่ใช้ทั้งสี่ประเภท แต่จำง่ายกว่ามาก คำมาจากรายการคำศัพท์ภาษาอังกฤษของ EFF ดังนั้นวลีรหัสผ่านจะอ่านเป็นภาษาอังกฤษไม่ว่าคุณจะใช้ภาษาใด สไตล์ที่สองสร้างพยางค์ออกเสียงได้แทนคำจริง เช่น tokrilmufsad เหมาะกับการบอกทางโทรศัพท์
PIN — 3 ถึง 12 หลัก สำหรับล็อกโทรศัพท์ ซิมการ์ด หรือบัตรเอทีเอ็ม ค่าที่คาดเดาง่ายอย่าง 1234, 0000 เลขซ้ำทั้งหมด และปีเกิดจะถูกกรองออก ใน PIN ที่รั่วไหลจริง 20 อันดับแรกครอบคลุมประมาณหนึ่งในสี่ของทั้งหมด เพิ่มจาก 4 เป็น 6 หลักทำให้จำนวนความเป็นไปได้มากขึ้นถึง 100 เท่า
คีย์ — ค่าสุ่มในรูปแบบที่โค้ดต้องการ: เลขฐานสิบหก, Base64 หรือตัวอักษรและตัวเลข กำหนดขนาดเป็นไบต์ — 16 ไบต์ = คีย์ 128 บิต, 32 ไบต์ = 256 บิต (64 อักขระฐานสิบหก หรือ 44 ใน Base64) แท็บเดียวกันนี้ยังสร้างรหัสสำรองสำหรับ 2FA ในรูปแบบ k7fp-2mqx จากชุดอักขระที่ไม่มีตัวที่คล้ายกัน
ทำไมเครื่องมือนี้จึงทำงานเฉพาะในเบราว์เซอร์ของคุณ
เครื่องสร้างรหัสผ่านส่วนใหญ่ทำงานได้ดี — จนกว่าคุณจะหยุดคิดว่าจริงๆ แล้วเกิดอะไรขึ้น เมื่อคุณสร้างรหัสผ่านบนเซิร์ฟเวอร์ เซิร์ฟเวอร์นั้นจะมองเห็นมันตามทฤษฎี สำหรับเว็บไซต์ส่วนใหญ่อาจไม่เป็นปัญหา แต่ «อาจจะ» ไม่ใช่ความแน่ใจที่คุณต้องการเมื่อตั้งค่าบัญชีธนาคารหรืออีเมล
เครื่องสร้างนี้ถูกสร้างขึ้นรอบหลักการเดียว: รหัสผ่านไม่เคยออกจากอุปกรณ์ของคุณ ทุกอย่างทำงานใน JavaScript โดยตรงในเบราว์เซอร์ของคุณ ส่วนโค้ดที่เกี่ยวข้อง:
const array = new Uint8Array(length);
crypto.getRandomValues(array);
crypto.getRandomValues() ดึงเอนโทรปีจากตัวสร้างตัวเลขสุ่มของระบบปฏิบัติการ — แหล่งเดียวกับที่ไลบรารีการเข้ารหัสใช้ ปิดแท็บนี้และรหัสผ่านหายไป ไม่มีบันทึก ไม่มีฐานข้อมูล ไม่มีเซิร์ฟเวอร์
ปัญหาของ «เคล็ดลับ» รหัสผ่าน
เป็นปีๆ ที่คำแนะนำด้านความปลอดภัยฟังดูแบบนี้: นำคำมา ทำตัวพิมพ์ใหญ่ตัวแรก เพิ่มตัวเลขท้าย แทนที่ตัวอักษรหนึ่งตัวด้วยสัญลักษณ์ อย่างเช่น P@ssw0rd
ผู้โจมตีรู้เคล็ดลับเหล่านี้ การโจมตีด้วยพจนานุกรมไม่ได้ลองแค่คำทั่วไป — พวกเขาลองคำทั่วไปพร้อมการดัดแปลงทั่วไปด้วย P@ssw0rd ไม่ใช่รหัสผ่านที่แข็งแกร่ง; มันคือรหัสผ่านที่อ่อนแอในคราบ
«รหัสผ่านเหมือนชุดชั้นใน: อย่าให้คนอื่นเห็น เปลี่ยนบ่อยๆ และไม่ควรแบ่งปันกับคนแปลกหน้า»
— Chris Pirillo
การเปลี่ยนแปลงที่แท้จริงมาพร้อมกับตัวจัดการรหัสผ่าน เมื่อคุณไม่ต้องจำรหัสผ่าน — เมื่อมันอยู่อย่างปลอดภัยใน Bitwarden, 1Password หรือ KeePass — ไม่มีเหตุผลที่จะไม่ใช้อะไรบางอย่างอย่าง xK9#mP2$vL5@nQ8 สำหรับทุกบัญชี สร้าง คัดลอก เก็บ นั่นคือกระบวนการทั้งหมด
ความจำเป็นในการเปลี่ยนรหัสผ่านเป็นประจำเป็นหนึ่งในเหตุผลเดิมที่สร้างเครื่องมือนี้ การหมุนรหัสผ่านควรใช้เวลา 30 วินาที ไม่ใช่ทำให้ปวดหัว
ยาวแค่ไหนจึงจะพอ?
ความยาวสำคัญกว่าความซับซ้อน รหัสผ่าน 20 ตัวอักษรที่ประกอบด้วยตัวพิมพ์เล็กอย่างเดียวมีเอนโทรปีมากกว่ารหัสผ่าน 10 ตัวอักษรที่มีทั้งสี่ประเภท ทั้งสองสำคัญ แต่ความยาวชนะ
| รหัสผ่าน | ความยาว | เวลาเจาะ |
|---|---|---|
password123 | 11 ตัว | < 1 วินาที |
SomchaiThong1985 | 16 ตัว | 3 ชั่วโมง |
Abc123!@# | 9 ตัว | 2 วัน |
MyD0g!sF1uffy | 13 ตัว | 5 ปี |
Tr$7mK@p9Lq2 | 12 ตัว | 200+ ปี |
xK9#mP2$vL5@nQ8 | 15 ตัว | 34,000 ปี |
NIST Special Publication 800-63B แนะนำขั้นต่ำ 8 ตัวอักษร แต่สังเกตว่า ความยาวคือปัจจัยหลักของความแข็งแกร่ง — ข้อกำหนดอักขระพิเศษบังคับมักให้ผลตรงกันข้ามโดยทำให้รหัสผ่านคาดเดาได้มากขึ้น
ประเภทอักขระทำอะไร
- ตัวพิมพ์ใหญ่ (A–Z) — 26 ความเป็นไปได้ต่อตำแหน่ง
- ตัวพิมพ์เล็ก (a–z) — อีก 26
- ตัวเลข (0–9) — 10
- สัญลักษณ์ (!@#$%…) — 32+ ขึ้นอยู่กับชุดอักขระ
ด้วย 16 ตัวอักษรและทั้งสี่ประเภท (94 ค่าที่เป็นไปได้ต่อตำแหน่ง): 94¹⁶ ≈ 3.7 × 10³¹ การผสม กลุ่ม GPU สมัยใหม่ที่เจาะหนึ่งพันล้านรหัสผ่านต่อวินาทีจะต้องใช้เวลานานกว่าอายุของจักรวาล
สำหรับนักพัฒนา: คีย์ ความลับ และการสร้างเป็นชุด
แท็บ คีย์ มีไว้เพราะ changeme และ secret123 มักจบลงในไฟล์ .env มากกว่าที่ใครจะยอมรับ เลือกรูปแบบที่ไลบรารีต้องการ: เลขฐานสิบหกสำหรับคีย์ดิบ Base64 สำหรับโทเคนและเฮดเดอร์ ตัวอักษรและตัวเลขเมื่อเชลล์หรือ URL มีปัญหากับ + และ / แล้วกำหนดขนาดเป็นไบต์แทนที่จะเป็นตัวอักษร — 16 ไบต์คือคีย์ 128 บิต 32 ไบต์คือ 256 บิต
ทุกอย่างมาจาก crypto.getRandomValues() ซึ่งเป็น CSPRNG ของเบราว์เซอร์ ไม่ใช่ Math.random() ที่คาดเดาได้
ด้านล่างแผงควบคุม สร้างหลายรายการพร้อมกัน สร้างได้สูงสุด 1,000 ค่า ดาวน์โหลดเป็น TXT, CSV, JSON, YAML, .env หรือ SQL ใช้สำหรับสร้างบัญชีทดสอบหรือข้อมูลตั้งต้น ฟังก์ชันนี้อ้างอิงตามการตั้งค่ารหัสผ่านสุ่ม (หรือเทมเพลต) เท่านั้น ไม่รวมแท็บวลีรหัสผ่านและ PIN
ความสะดวกอีกสองอย่าง: ล้างคลิปบอร์ดหลังจากคัดลอก 60 วินาที จำกัดเวลาที่ความลับอยู่ในคลิปบอร์ด และ การตั้งค่าที่บันทึกไว้ เก็บชุดกฎที่ตั้งชื่อไว้ในเบราว์เซอร์ URL ของหน้าเว็บก็พกพาการตั้งค่าเหล่านี้เช่นกัน แต่ไม่เคยพกพาค่าที่สร้างขึ้น
ข้อโต้แย้งสำหรับตัวจัดการรหัสผ่าน
การสร้างรหัสผ่านที่แข็งแกร่งนั้นไม่มีประโยชน์หากคุณนำกลับมาใช้ใหม่หรือเก็บไว้ใน passwords.txt บนเดสก์ท็อป รายงานการสืบสวนการละเมิดข้อมูลของ Verizon พบอย่างสม่ำเสมอว่า 81% ของการละเมิดเกี่ยวข้องกับรหัสผ่านที่ถูกขโมยหรืออ่อนแอ สาเหตุที่พบบ่อยที่สุดที่ผู้คนนำรหัสผ่านกลับมาใช้ใหม่: มีบัญชีมากเกินไปที่ต้องติดตาม
ตัวจัดการรหัสผ่านแก้ปัญหานี้ได้สะอาด:
- Bitwarden — โอเพ่นซอร์ส ระดับฟรีครอบคลุมความต้องการส่วนใหญ่ ทำงานบนทุกแพลตฟอร์ม
- 1Password — UI ที่ขัดเกลา การแบ่งปันครอบครัว/ทีมที่ยอดเยี่ยม
- KeePass — ท้องถิ่นอย่างสมบูรณ์ ไม่มีคลาวด์ ควบคุมได้เต็มที่
เมื่อรหัสผ่านรั่วไหล
- เปลี่ยนทันทีในทุกบัญชีที่ใช้รหัสผ่านนั้น
- เปิดใช้งาน 2FA บนบัญชีที่ได้รับผลกระทบ
- ตรวจสอบ Have I Been Pwned — ป้อนอีเมลของคุณเพื่อดูการละเมิดก่อนหน้า
- ตรวจสอบเซสชันที่ใช้งานอยู่และเพิกถอนสิ่งที่ไม่คุ้นเคย
คำแนะนำตามประเภทบัญชี
บัญชีการเงิน
- 16+ ตัวอักษร ทุกประเภทอักขระ
- รหัสผ่านเฉพาะ ไม่เคยนำกลับมาใช้ใหม่
- 2FA ผ่านแอพยืนยันตัวตน (ไม่ใช่ SMS)
อีเมล
- 14+ ตัวอักษร — อีเมลของคุณรีเซ็ตรหัสผ่านอื่นๆ ทุกอัน ทำให้มันเป็นอัญมณีแห่งความปลอดภัย
- 2FA บังคับ
- ตรวจสอบอุปกรณ์ที่เข้าสู่ระบบเป็นประจำ
โซเชียลมีเดีย
- 12+ ตัวอักษร
- 2FA ผ่านแอพ — 2FA แบบ SMS มีความเสี่ยงต่อการโจมตี SIM Swapping
บัญชีทำงาน
- ปฏิบัติตามนโยบายบริษัท (โดยทั่วไป 14+)
- ห้ามใช้รหัสผ่านส่วนตัวในระบบงาน เปลี่ยนทันทีเมื่อลาออก
ข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง
การเก็บรหัสผ่านเป็นข้อความธรรมดา (passwords.txt, แอปโน้ต, แบบร่างอีเมล) — ใช้ตัวจัดการรหัสผ่านที่เข้ารหัสแทน
การแบ่งปันรหัสผ่านผ่านแชทหรืออีเมล — ใช้ Bitwarden Send หรือการแบ่งปันที่ปลอดภัยที่คล้ายกันหากต้องแบ่งปัน
การไว้วางใจเบราว์เซอร์เพียงอย่างเดียวในฐานะตัวจัดการรหัสผ่าน — เบราว์เซอร์กำลังดีขึ้น แต่ตัวจัดการเฉพาะพร้อมรหัสผ่านหลักให้การเข้ารหัสที่ดีกว่าและการรองรับหลายแพลตฟอร์ม
แนวทางของประเทศไทย
ETDA (สำนักงานพัฒนาธุรกรรมทางอิเล็กทรอนิกส์, etda.or.th) เผยแพร่แนวทางด้านความปลอดภัยทางไซเบอร์ แอปพลิเคชันธนาคารออนไลน์ไทยได้นำการยืนยันตัวตนด้วยไบโอเมตริกและ OTP มาใช้อย่างแข็งแกร่ง แต่รหัสผ่านบัญชียังคงเป็นการป้องกันหลักสำหรับบริการส่วนใหญ่ ETDA แนะนำให้ใช้ตัวจัดการรหัสผ่านและหลีกเลี่ยงรหัสผ่านที่อิงจากเลขบัตรประชาชนไทย
สถิติความปลอดภัยรหัสผ่าน
- 81% ของการละเมิดทางธุรกิจเกี่ยวข้องกับรหัสผ่านที่ถูกขโมยหรืออ่อนแอ (Verizon DBIR)
- 59% ของผู้คนนำรหัสผ่านกลับมาใช้ซ้ำในหลายบัญชี
- 23% ของรหัสผ่านที่พบบ่อยที่สุดสามารถเจาะได้ในเวลาน้อยกว่า 1 วินาที
- ผู้ใช้โดยเฉลี่ยมี 100+ บัญชีออนไลน์ ที่ต้องการรหัสผ่าน
คำถามที่พบบ่อย
เครื่องสร้างนี้เป็นส่วนตัวจริงๆ หรือเปล่า?
ใช่ เปิดคอนโซลนักพัฒนาเบราว์เซอร์ (F12) ขณะสร้างรหัสผ่านและตรวจสอบแท็บเครือข่าย — คุณจะเห็นศูนย์คำขอที่ส่ง ทุกอย่างทำงานภายในเครื่องฉันควรเปลี่ยนรหัสผ่านบ่อยแค่ไหน?
เมื่อมีเหตุผล: การละเมิดที่ทราบแล้ว ความสงสัยในการถูกเจาะ หรือหลังจากแบ่งปันการเข้าถึง NIST ไม่แนะนำการหมุนรหัสผ่านบังคับเป็นประจำอีกต่อไปเพื่อประโยชน์ของมันเอง — การเปลี่ยนบ่อยครั้งโดยถูกบังคับมักส่งผลให้รหัสผ่านอ่อนแอลงและคาดเดาได้มากขึ้นฉันสามารถใช้รหัสผ่านเดียวกันสำหรับหลายบัญชีได้ไหม?
ไม่ได้ การละเมิดหนึ่งครั้งเปิดเผยทุกบัญชีที่แบ่งปันรหัสผ่านนั้น ตัวจัดการรหัสผ่านทำให้การรักษารหัสผ่านเฉพาะสำหรับหลายร้อยบัญชีเป็นเรื่องง่ายรหัสผ่านกับวลีรหัสผ่าน — อันไหนควรใช้?
ใช้รหัสผ่านสุ่มสำหรับทุกอย่างที่ตัวจัดการรหัสผ่านพิมพ์ให้คุณ และใช้วลีรหัสผ่านสำหรับความลับไม่กี่อย่างที่คุณต้องพิมพ์เอง เช่น รหัสผ่านหลักของตัวจัดการ การเข้ารหัสดิสก์ หรือการล็อกอินโน้ตบุ๊ก ห้าคำจากรายการ EFF ให้เอนโทรปีประมาณ 65 บิต — เทียบเท่ารหัสผ่านสุ่ม 10 ตัวอักษรที่ใช้ทั้งสี่ประเภท แต่พิมพ์ได้ง่ายกว่ามากบนโทรศัพท์หรือรีโมตทีวีฉันสามารถสร้าง PIN แบบสุ่มได้ไหม?
ได้ แท็บ PIN สร้างเลข 3 ถึง 12 หลัก และปฏิเสธค่าที่คาดเดาง่าย เช่น 1234, 0000 เลขซ้ำทั้งหมด และปีเกิด การใช้ 6 หลักแทนที่จะเป็น 4 หลักแทบไม่เพิ่มความยุ่งยากในการพิมพ์ แต่เพิ่มจำนวนความเป็นไปได้ถึง 100 เท่าใช้สำหรับ API key และความลับของแอปพลิเคชันได้ไหม?
ได้ นั่นคือหน้าที่ของแท็บ คีย์: เลขฐานสิบหก, Base64 หรือตัวอักษรและตัวเลข กำหนดขนาดเป็นไบต์ 32 ไบต์คือคีย์ 256 บิต ซึ่งเป็นความยาวมาตรฐานสำหรับJWT_SECRET, SECRET_KEY หรือลายเซ็นเว็บฮุก แท็บเดียวกันนี้ยังสร้างรหัสสำรองสำหรับ 2FA ด้วย