Bcrypt, Scrypt และ Argon2
- ไฟล์ไม่ออกจากอุปกรณ์ของคุณ
- ทำงานในเบราว์เซอร์
- ฟรี ไม่ต้องสมัคร ไม่มีลายน้ำ
วิธีใช้ Bcrypt, Scrypt และ Argon2
สร้างและตรวจสอบแฮชรหัสผ่าน bcrypt, scrypt และ Argon2 ในเบราว์เซอร์ พร้อมคำเตือนเมื่อการตั้งค่าต่ำกว่าคำแนะนำของ OWASP การตรวจสอบยังอ่านแฮช PBKDF2 ของ Django ได้
- 1
เลือกสร้างแฮช แล้วเลือกอัลกอริทึม: bcrypt, scrypt หรือ Argon2
- 2
ปรับพารามิเตอร์ (ตัวคูณต้นทุนสำหรับ bcrypt; N, r และ p สำหรับ scrypt; รูปแบบ หน่วยความจำ จำนวนรอบ และการทำงานขนานสำหรับ Argon2) แล้วดูคำเตือน
- 3
พิมพ์รหัสผ่านแล้วคลิกสร้างแฮช จากนั้นคัดลอกสตริงแฮช รวมถึงแฮชดิบและซอลต์สำหรับ scrypt และ Argon2
- 4
เพื่อตรวจรหัสผ่าน สลับไปตรวจสอบแฮช (หรือคลิกตรวจสอบแฮชนี้) วางสตริงแฮช พิมพ์รหัสผ่านที่จะตรวจ แล้วคลิกตรวจสอบ
คำถามที่พบบ่อย
รหัสผ่านของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ได้ การแฮชทำงานในเวิร์กเกอร์เบื้องหลังบนอุปกรณ์ของคุณ และรหัสผ่านกับแฮชไม่เคยถูกจัดเก็บหรือส่ง
ทำไมรหัสผ่านเดียวกันถึงได้แฮชต่างกันทุกครั้ง?
แต่ละแฮชได้ซอลต์สุ่มใหม่ 16 ไบต์ (bcrypt สร้างซอลต์ของตัวเอง) ซอลต์ถูกเก็บในสตริงแฮช ดังนั้นการตรวจสอบยังใช้ได้ ใช้ซอลต์กำหนดเองเฉพาะเมื่อต้องการทำแฮชที่รู้จักซ้ำ
ควรเลือกอัลกอริทึมและการตั้งค่าใด?
Argon2id เป็นตัวเลือกที่แนะนำสำหรับระบบใหม่ ค่าขั้นต่ำของ OWASP คือ m = 19 MiB, t = 2, p = 1 สำหรับ scrypt แนะนำ N = 2^17, r = 8, p = 1 และสำหรับ bcrypt ต้นทุนอย่างน้อย 10 เครื่องมือจะเตือนเมื่อคุณตั้งต่ำกว่านี้
ตรวจสอบรูปแบบแฮชใดได้บ้าง?
bcrypt ($2a$, $2b$, $2y$), สตริง PHC ของ Argon2id, Argon2i และ Argon2d, scrypt ($scrypt$ และ $s0$) และ Django pbkdf2_sha256 / pbkdf2_sha1 แฮช crypt ของ Linux ($1$, $5$, $6$, $y$), Apache $apr1$ และไดเจสต์ MD5/SHA ล้วน ๆ ถูกจดจำแต่ไม่รองรับ
ทำไมรหัสผ่านยาวของฉันถึงถูก bcrypt รับแต่ไม่ได้ใช้ทั้งหมด?
bcrypt ใช้เพียง 72 ไบต์แรกของรหัสผ่านและละเลยที่เหลือ เครื่องมือจะเตือนเมื่อเกิดเหตุนี้ Argon2 และ scrypt ไม่มีขีดจำกัดแบบนี้
กู้รหัสผ่านจากแฮชได้หรือไม่?
ไม่ได้ มันตรวจเพียงว่ารหัสผ่านที่คุณพิมพ์ตรงหรือไม่ แฮชรหัสผ่านถูกออกแบบให้ช้าและเป็นทางเดียว ซึ่งเป็นเหตุผลที่การแฮชใช้เวลาสักครู่ คุณดูตัวจับเวลาหรือคลิกยกเลิกได้
