Toolonit
  1. หน้าแรก
  2. เข้ารหัสลับ
  3. แฮช bcrypt

สร้างและตรวจสอบแฮช bcrypt

แฮชรหัสผ่านด้วย bcrypt และตรวจสอบว่ารหัสผ่านตรงกับค่าแฮชหรือไม่

แฮชรหัสผ่าน

0 จาก 72 ไบต์

Cost

เพิ่มขึ้นแต่ละขั้นจะใช้เวลาเป็นสองเท่า 10–12 เป็นค่าปกติสำหรับการเข้าสู่ระบบ แฮชบันทึกค่า cost ไว้ในตัว การตรวจสอบจึงไม่ต้องตั้งค่าใด

พิมพ์รหัสผ่าน แล้วแฮชจะแสดงที่นี่

ตรวจรหัสผ่านกับแฮช

$2a$, $2b$ หรือ $2y$ ยาว 60 ตัวอักษร ค่า cost อ่านจากแฮช

ใส่รหัสผ่านและแฮชเพื่อตรวจสอบ

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

วิธีสร้างและตรวจสอบแฮช bcrypt

  1. พิมพ์รหัสผ่าน แฮชจะแสดงขึ้นขณะพิมพ์ พร้อมเวลาที่ใช้บนอุปกรณ์ของคุณ
  2. เลื่อนแถบ “Cost” หากระบบของคุณใช้ค่า cost อื่น (ค่าเริ่มต้นคือ 10)
  3. คัดลอกแฮช $2b$ หรือคลิก “ตรวจสอบด้านล่าง” เพื่อดูว่าตรวจสอบผ่าน
  4. หากจะตรวจแฮชที่มีอยู่ ให้วางแฮชพร้อมรหัสผ่านในส่วน “ตรวจรหัสผ่านกับแฮช” แล้วคุณจะเห็นผล “ตรงกัน” หรือ “ไม่ตรงกัน”

ความสามารถ

  • แฮช $2b$ พร้อม salt สุ่มใหม่ขนาด 16 ไบต์ทุกครั้ง
  • Cost 4–16 (ค่าเริ่มต้น 10) พร้อมเวลาที่ใช้สร้างแฮชบนอุปกรณ์ของคุณ
  • ตรวจรหัสผ่านกับแฮช $2a$, $2b$ และ $2y$: ตรงกันหรือไม่ตรงกัน พร้อมเวอร์ชันและค่า cost
  • นับจำนวนไบต์เทียบกับขีดจำกัด 72 ไบต์ของ bcrypt และเตือนว่าตัวอักษรใดถูกละไว้
  • ทำงานใน worker เบื้องหลัง ค่า cost สูงจึงไม่ทำให้หน้าค้าง กด “หยุด” ได้ หรือ “แฮชอีกครั้ง” เพื่อใช้ salt ใหม่
  • จดจำแฮช Argon2 ได้ และมีลิงก์ไปยังเครื่องมือ Argon2

เป็นส่วนตัวหรือไม่

ใช่ การแฮชและการตรวจสอบทำงานในเบราว์เซอร์ของคุณด้วย WebAssembly ใน worker เบื้องหลัง รหัสผ่านไม่เคยถูกอัปโหลดหรือเก็บไว้

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

ถอดรหัสแฮช bcrypt ได้ไหม

ไม่ได้ bcrypt เป็นแฮชทางเดียว ไม่มีคีย์ใดที่แปลงกลับเป็นรหัสผ่านได้ วิธีเดียวที่จะหารหัสผ่านคือเดาแล้วแฮชทุกค่าที่เดา ซึ่ง bcrypt ตั้งใจทำให้ช้า หากต้องการทดสอบรหัสผ่านที่คิดว่าถูก ให้ใช้ “ตรวจรหัสผ่านกับแฮช”

ทำไมรหัสผ่านเดียวกันจึงได้แฮชต่างกันทุกครั้ง

แฮชแต่ละตัวได้ salt สุ่มใหม่ขนาด 16 ไบต์ ซึ่งเก็บไว้ในสตริงแฮชนั้นเอง ตอนตรวจสอบระบบจะอ่าน salt กลับจากแฮช แฮชทุกตัวเหล่านั้นจึงตรวจสอบผ่านด้วยรหัสผ่านเดียวกัน

ควรเลือกค่า cost เท่าไร

ทุกครั้งที่เพิ่มขึ้นหนึ่งขั้น งานจะเพิ่มเป็นสองเท่า ค่า 10 ถึง 12 เป็นค่าที่ใช้กันทั่วไปสำหรับการเข้าสู่ระบบ ให้เลือกค่าสูงสุดที่เซิร์ฟเวอร์ของคุณรับไหวต่อการเข้าสู่ระบบแต่ละครั้ง ซึ่งมักอยู่ราวหนึ่งในสี่ถึงครึ่งวินาที เวลาที่แสดงที่นี่เป็นเวลาบนอุปกรณ์ของคุณเอง

ทำไม bcrypt จึงไม่สนใจบางส่วนของรหัสผ่านที่ยาว

bcrypt อ่านเฉพาะ 72 ไบต์แรกของรหัสผ่านในรูปแบบ UTF-8 ตัวอักษรอย่างภาษาไทยหรือภาษาเกาหลีใช้ตัวละ 3 ไบต์ เพียง 24 ตัวก็เต็มขีดจำกัดแล้ว เครื่องมือจะเตือนเมื่อมีตัวอักษรถูกละไว้ สำหรับวลีรหัสผ่านที่ยาวกว่านั้น Argon2 ไม่มีขีดจำกัดนี้

$2a$, $2b$ และ $2y$ ต่างกันอย่างไร

ตัวอักษรเหล่านี้ระบุการแก้บั๊กเก่าในการใช้งานบางตัว สำหรับรหัสผ่านทั่วไปทั้งหมดให้ผลเหมือนกัน เครื่องมือนี้เขียน $2b$ ซึ่งเป็นคำนำหน้าปัจจุบันของ OpenBSD และตรวจได้ทั้งสามแบบ แฮชที่สร้างที่นี่ตรวจสอบผ่านกับไลบรารี bcrypt ของ Python และ crypt() ของ Linux

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