PlusMagi's Blog By Pitt Phunsanit

Bcrypt: Password Hashing

Bcrypt ย่อมาจาก Blowfish crypt เป็นอัลกอริทึมสำหรับแฮชรหัสผ่าน ที่พัฒนาโดย Niels Provos และ David Mazières โดยนำหลักการของ Blowfish block cipher มาปรับใช้ ออกแบบมาเพื่อป้องกันการโจมตีแบบ Brute-force โดยเน้นความช้าในการคำนวณและเพิ่มความปลอดภัยสูง


จุดเด่นสำคัญของ Bcrypt


โครงสร้างของ Bcrypt Hash

เมื่อคุณทำการ Hash รหัสผ่านด้วย Bcrypt คุณจะได้ข้อความยาว 60 ตัวอักษร ซึ่งจะถูกแบ่งออกเป็นส่วนหลัก ๆ ดังนี้ครับ

$2a$12$R9h/cIPz0gi.URNNX3kh2OPST9/TVBGL6NJ5kGKAq7slgnzpsS.66

  1. Prefix : บอกถึงเวอร์ชันของอัลกอริทึม Bcrypt ที่ใช้
  2. Cost Factor : คือจำนวนรอบในการคำนวณ ยิ่งตัวเลขสูง ยิ่งใช้เวลาประมวลผลนาน ทำให้แฮกเกอร์เดารหัสผ่านได้ยากขึ้น
  3. Salt : นี่คือส่วนของ Salt ที่ถูกสุ่มขึ้นมาและเก็บไว้ในตัวมันเองเลย
  4. Hash Text : คือผลลัพธ์สุดท้ายที่ได้จากการนำ Password + Salt ไปผ่านกระบวนการเข้ารหัส

ทำไมต้องเก็บ Salt ไว้ข้างใน ?

กลไกของ Bcrypt ถูกออกแบบมาเพื่อความสะดวกและปลอดภัย ดังนี้ครับ


ข้อควรระวังในการใช้งาน

แม้ Bcrypt จะปลอดภัยมาก แต่ก็มีจุดที่ต้องพิจารณา


อ่านเพิ่มเติม

Exit mobile version