ข้ามไปยังเนื้อหาหลัก
FreeOnlineTools Go
ไทย
การแก้ปัญหา

ความปลอดภัยรหัสผ่าน: วิธีสร้าง จัดเก็บและตรวจสอบรหัสผ่านที่แข็งแรง

โดย FreeOnlineTools Team · อัปเดตเมื่อ 2026-08-28

ตอบด่วน

สร้างพาสเวิร์ดสุ่ม 16+ อักขระด้วย Password Generator ของเรา ไม่ใช้ซ้ำ เก็บใน password manager ที่ server hash ด้วย bcrypt (work factor 12+), scrypt หรือ Argon2id —ไม่ใช้ MD5 หรือ SHA-256 audit ผ่าน Have I Been Pwned API

การแนะนำ

พาสเวิร์ดอ่อน ใช้ซ้ำ และเก็บไม่ถูกต้องทำให้บัญชีถูกยึดส่วนใหญ่ คู่มือนี้แก้ปัญหาสี่ข้อ: (1) สร้างพาสเวิร์ดที่ entropy พอต้าน brute force, (2) hash ด้วย KDF ช้าแทน hash เร็ว, (3) หลีกเลี่ยงใช้ซ้ำ และ (4) audit credential ที่รั่ว

ทีละขั้นตอน

  1. สร้างรหัสผ่านเอนโทรปีสูง

    ใช้เครื่องมือสร้างรหัสผ่านเพื่อสร้างรหัสผ่านที่มีอักขระ 16+ ตัว โดยผสมตัวเลขบน ล่าง ตัวเลข และสัญลักษณ์ เอนโทรปี = log2(charsetSize^length); ตัวอักษร 16 ตัวอักษรที่มีสัญลักษณ์ 94 ตัวให้ ~ 105 บิต ซึ่งเป็นไปไม่ได้ที่จะใช้กำลังดุร้ายแม้จะคาดเดา 10 ^ 12 ครั้ง / วินาที

  2. อย่าใช้รหัสผ่านซ้ำในบริการต่างๆ

    การใช้รหัสผ่านเดียวซ้ำหมายถึงการละเมิดเพียงครั้งเดียวจะทำให้ทุกบัญชีที่แชร์รหัสผ่านนั้นเสียหาย สร้างรหัสผ่านที่ไม่ซ้ำกันต่อบริการและจัดเก็บไว้ในเครื่องมือจัดการรหัสผ่าน (Bitwarden, 1Password, KeePassXC) รหัสผ่านหลักเป็นรหัสผ่านเดียวที่คุณต้องจำ — ทำให้เป็นรหัสผ่านที่ยาว

  3. แฮชรหัสผ่านด้วย KDF ที่ช้าบนเซิร์ฟเวอร์

    อย่าจัดเก็บรหัสผ่านด้วย MD5, SHA-1 หรือ SHA-256 แบบดิบ เนื่องจากเร็วเกินไป และ GPU สามารถลองได้หลายพันล้านต่อวินาที ใช้ bcrypt ที่มีปัจจัยการทำงาน 12+, เข้ารหัสด้วย N=2^17 หรือ Argon2id ที่มีหน่วยความจำ 64MB KDF เหล่านี้จงใจช้าและหน่วยความจำยากในการเอาชนะการโจมตีของ GPU/ASIC

  4. ใช้เกลือเพื่อเอาชนะโต๊ะสายรุ้ง

    Salt คือค่าสุ่มที่ไม่ซ้ำกันต่อรหัสผ่าน ซึ่งเพิ่มหรือรวมกันก่อนที่จะแฮช ช่วยให้มั่นใจได้ว่ารหัสผ่านที่เหมือนกันจะสร้างแฮชที่แตกต่างกัน ทำให้ตารางสายรุ้งที่คำนวณไว้ล่วงหน้าไร้ประโยชน์ bcrypt และ Argon2 สร้างและฝังเกลือโดยอัตโนมัติ - อย่าม้วนเกลือของคุณเอง

  5. ตรวจสอบรหัสผ่านที่ถูกละเมิด

    ก่อนที่จะยอมรับรหัสผ่าน ให้ตรวจสอบกับ Have I Been Pwned API โดยใช้โปรโตคอล k-anonymity: ส่งเฉพาะอักขระ 5 ตัวแรกของแฮช SHA-1 รับรายการส่วนต่อท้ายที่ตรงกัน และเปรียบเทียบในเครื่อง สิ่งนี้จะไม่เปิดเผยรหัสผ่านแบบเต็มให้กับ API

ตัวอย่าง

รหัสผ่านที่สร้างยาก (16 ตัวอักษร ~ 105 บิตเอนโทรปี)

ป้อนข้อมูล: ยาว 16 ทุกคลาสตัวละคร

เอาท์พุต: K9$mP2#vL7@nQ4!x (สุ่ม ไม่ซ้ำกัน ไม่เคยใช้ซ้ำ)

ข้อความรหัสผ่านสำหรับรหัสผ่านหลัก (จดจำได้ + รัดกุม)

ป้อนข้อมูล: 4 คำทั่วไปแบบสุ่ม

เอาท์พุต: correct-horse-battery-staple (~44 bits but easy to remember; use 5-6 words for ~60+ bits)

แฮช bcrypt ของรหัสผ่าน (ปัจจัยการทำงาน 12)

ป้อนข้อมูล: รหัสผ่าน 123 พร้อม bcrypt ราคา 12

เอาท์พุต: $2b$12$N9qo8uLOickgx2ZMRZoMy.MrqKQp7vqB4V1e5sTq7vqB4V1e5sTq (เกลือ + ราคา + แฮชที่ฝังอยู่)

ปัญหาทั่วไป

  • การใช้ MD5 หรือ SHA-256 สำหรับการแฮชรหัสผ่าน: ทั้งคู่เป็นการแฮชที่รวดเร็ว GPU สมัยใหม่คำนวณ ~10 พันล้าน SHA-256/s ถอดรหัสรหัสผ่าน 8 ตัวอักษรได้ในไม่กี่นาที ใช้ bcrypt, scrypt หรือ Argon2id เสมอ
  • การใช้รหัสผ่านเดียวซ้ำทั่วทั้งไซต์: การละเมิดที่ไซต์ที่อ่อนแอที่สุดจะทำให้รหัสผ่านรั่วไหลสำหรับทุกไซต์ สร้างรหัสผ่านที่ไม่ซ้ำใครและจัดเก็บไว้ในผู้จัดการ
  • การจัดเก็บรหัสผ่านในรูปแบบข้อความธรรมดาหรือการเข้ารหัสแบบย้อนกลับ: หากฐานข้อมูลรั่ว ทุกบัญชีจะถูกบุกรุกทันที การแฮชเป็นแบบทางเดียวและไม่สามารถย้อนกลับได้ แม้แต่เซิร์ฟเวอร์ก็ไม่สามารถกู้คืนไฟล์ต้นฉบับได้
  • ปัจจัยการทำงานต่ำใน bcrypt: ราคา 4 ดีในปี 2545; ในปี 2569 ใช้ต้นทุน 12+ (ประมาณ 4,096 รอบ) แฮชอีกครั้งเมื่อเข้าสู่ระบบเพื่ออัปเกรดแฮชเก่าโดยไม่ต้องบังคับให้รีเซ็ตรหัสผ่าน

เคล็ดลับ

  • ตั้งเป้าอย่างน้อย 100 บิตของเอนโทรปีสำหรับบัญชีที่มีมูลค่าสูง นั่นคืออักขระสุ่ม 16 ตัวจากตัวอักษรสัญลักษณ์ 94 ตัว หรือคำศัพท์ลูกเต๋าสุ่ม 6 คำ
  • เปิดการตรวจสอบสิทธิ์แบบสองปัจจัย (TOTP หรือคีย์ฮาร์ดแวร์) สำหรับทุกบัญชีที่รองรับ รหัสผ่านที่รัดกุมเพียงอย่างเดียวอาจไม่เพียงพอหากรหัสผ่านถูกฟิชชิง
  • ใช้ตัวเลือก 'ยกเว้นอักขระที่ไม่ชัดเจน' ของเครื่องมือสร้างรหัสผ่านของเรา (0/O, 1/l/I) เมื่อรหัสผ่านจะถูกอ่านออกเสียงหรือพิมพ์จากการพิมพ์
  • หมุนเวียนรหัสผ่านหลังจากมีการละเมิดที่ได้รับการยืนยันแล้วเท่านั้น ไม่ใช่ตามกำหนดเวลาที่กำหนด การหมุนเวียนแบบบังคับจะทำให้ผู้ใช้ใช้รูปแบบที่คาดเดาได้ เช่น Spring2026!

เครื่องมือที่เกี่ยวข้อง

คำแนะนำที่เกี่ยวข้อง

อ้างอิง