DevTulz Online

เครื่องมือสร้างและตรวจสอบ Bcrypt

10
สูงกว่า = ปลอดภัยกว่าแต่ช้ากว่า

Bcrypt คืออะไร?

Bcrypt คือฟังก์ชันแฮชรหัสผ่านที่ออกแบบมาเพื่อความปลอดภัย ต่างจากฟังก์ชันแฮชที่รวดเร็ว (MD5, SHA-1) bcrypt ช้าโดยเจตนาผ่านตัวคูณต้นทุนที่กำหนดค่าได้ — ทำให้การโจมตีแบบ brute-force ไม่ได้ผล แต่ละแฮชมี salt สุ่มรวมอยู่ด้วย ดังนั้นรหัสผ่านที่เหมือนกันจะสร้างแฮชที่แตกต่างกัน ตัวคูณต้นทุน (รอบ) จะเพิ่มเวลาการคำนวณเป็นสองเท่าสำหรับแต่ละการเพิ่ม: ต้นทุน 10 ใช้เวลาประมาณ 100ms ต้นทุน 12 ใช้เวลาประมาณ 400ms ต้นทุน 14 ใช้เวลาประมาณ 1.5s อย่าจัดเก็บรหัสผ่านในรูปแบบข้อความธรรมดา — ควรแฮชเสมอด้วย bcrypt หรือฟังก์ชันการปรับตัวที่คล้ายกัน

วิธีใช้เครื่องมือสร้าง Bcrypt

  1. ป้อนรหัสผ่านของคุณในแท็บ 'Hash' และเลือกตัวคูณต้นทุน (แนะนำ 10–12 สำหรับแอปส่วนใหญ่)

  2. คลิก 'สร้าง Hash' — bcrypt hash จะปรากฏด้านล่างและพร้อมบันทึกในฐานข้อมูลของคุณ

  3. เพื่อตรวจสอบรหัสผ่านกับแฮชที่มีอยู่ ให้เปลี่ยนไปที่แท็บ 'ตรวจสอบ'

  4. ป้อนรหัสผ่านข้อความธรรมดาและ bcrypt hash ที่บันทึกไว้ จากนั้นคลิก 'ตรวจสอบ'

  5. เครื่องหมายถูกสีเขียวยืนยันการตรงกัน สีแดงหมายความว่ารหัสผ่านผิด

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

ฉันควรใช้ cost factor เท่าไหร่? สำหรับเว็บแอปพลิเคชันส่วนใหญ่ cost factor 10-12 เป็นความสมดุลที่ดีระหว่างความปลอดภัยและประสิทธิภาพ Cost 10 (~100ms) เป็นค่าต่ำสุดที่แนะนำ ใช้ 12 (~400ms) สำหรับบัญชีที่มีค่าสูง หลีกเลี่ยงการใช้ต่ำกว่า 10 เนื่องจากทำให้การโจมตี brute-force เร็วขึ้น

ทำไมแฮชสองอันของรหัสผ่านเดียวกันจึงดูแตกต่างกัน? Bcrypt จะสร้าง salt แบบสุ่ม 22 ตัวอักษรสำหรับแต่ละแฮชและฝังมันไว้ในผลลัพธ์ นี่หมายความว่ารหัสผ่านเดียวกันที่แฮชสองครั้งจะสร้างสตริงที่แตกต่างกัน ซึ่งเป็นการออกแบบโดยตั้งใจ — มันป้องกันการโจมตี rainbow table

รูปแบบสตริงแฮช bcrypt หมายถึงอะไร? แฮช bcrypt มีลักษณะเช่น $2b$12$SaltSaltSaltSaltSaltSaHashHashHashHashHashHashHashHas $2b$ เป็นเวอร์ชันของอัลกอริทึม $12$ เป็น cost factor ตามด้วยอักขระ 22 ตัวของ salt ที่เข้ารหัส base64 และอักขระ 31 ตัวของแฮช

ฉันสามารถใช้สิ่งนี้เพื่อตรวจสอบรหัสผ่านจากฐานข้อมูลของฉันได้หรือไม่? ใช่ วางแฮช bcrypt ที่จัดเก็บไว้จากฐานข้อมูลของคุณและรหัสผ่านข้อความธรรมดาลงในแท็บ Verify เครื่องมือจะยืนยันว่าตรงกันหรือไม่ ซึ่งมีประโยชน์สำหรับการแก้ไขปัญหาการเข้าสู่ระบบในระหว่างการพัฒนา

Keywords: เครื่องมือสร้าง bcrypt, bcrypt hash ออนไลน์, ตัวตรวจสอบ bcrypt, การแฮชรหัสผ่าน, ตัวคูณต้นทุน bcrypt, แฮชรหัสผ่าน bcrypt, ตัวตรวจสอบ bcrypt