UTILS.
ทำงานในเบราว์เซอร์ 100%
🛡️

ตัวสร้างและตรวจสอบแฮชรหัสผ่าน Argon2

คำนวณแฮชรหัสผ่าน Argon2id/i/d ด้วยหน่วยความจำ การวนซ้ำ และความขนานที่กำหนดค่าได้ หรือตรวจสอบรหัสผ่านกับแฮชที่เข้ารหัส PHC ทำงานฝั่งไคลเอนต์

รหัสผ่านถูกแฮช 100% ในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลด

— ผลลัพธ์จะแสดงที่นี่ —

เกี่ยวกับเครื่องมือนี้

ตัวสร้างและตรวจสอบแฮชรหัสผ่าน Argon2 คำนวณและตรวจสอบแฮช Argon2 ภายในเบราว์เซอร์ของคุณทั้งหมด Argon2 ชนะการแข่งขัน Password Hashing Competition ปี 2015 และเป็นมาตรฐานใน RFC 9106; ต่างจาก bcrypt มันเป็น memory-hard หมายความว่าต้นทุนของมันถูกครอบงำโดยการใช้ RAM ซึ่งขัดขวางเครื่องแคร็ก GPU และ ASIC โหมดสร้างดึงไบต์ salt แบบสุ่ม 16 ไบต์จาก crypto.getRandomValues และรันตัวแปรที่เลือกด้วยพารามิเตอร์ของคุณ: t การวนซ้ำ (time cost), m หน่วยความจำเป็น KiB, p ความขนาน (lanes) และความยาวแฮชผลลัพธ์เป็นไบต์

มีสามตัวแปรให้เลือก Argon2id (ค่าเริ่มต้นและตัวเลือกที่ RFC แนะนำ) เป็นแบบผสมที่ต้านทานทั้งการโจมตี side-channel และ time-memory trade-off; Argon2i ปรับให้เหมาะกับการต้านการรั่วไหล side-channel; Argon2d เพิ่มการต้านทานการแคร็ก GPU สูงสุดแต่ไม่ปลอดภัยจาก side-channel ผลลัพธ์คือสตริง PHC ที่อธิบายตัวเองในรูปแบบ $argon2id$v=19$m=65536,t=3,p=1$<base64 salt>$<base64 hash> ดังนั้นทุกพารามิเตอร์ที่จำเป็นในการตรวจสอบจึงอยู่ภายในแฮช ค่าเริ่มต้น (t=3, m=65536 KiB = 64 MiB, p=1) เป็นไปตามโปรไฟล์แนะนำที่สองของ RFC 9106

เนื่องจากงานรันเป็น WebAssembly build แบบไม่มี eval ภายใต้นโยบายความปลอดภัยที่เข้มงวดของเบราว์เซอร์ หน่วยความจำถูกจัดสรรในหน้า: ค่า m ที่สูงมากใช้ RAM หนักและอาจช้าบนโทรศัพท์ ดังนั้นเครื่องมือจึงเตือนเมื่อเกิน 256 MiB โหมดตรวจสอบแยกวิเคราะห์ตัวแปร เวอร์ชัน m/t/p salt และ digest จากแฮชที่เข้ารหัส คำนวณใหม่ด้วยรหัสผ่านที่เป็นตัวเลือก และรายงานตรงหรือไม่ตรง รหัสผ่านถูกแฮช 100% ในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด

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

ฉันควรใช้ตัวแปร Argon2 ใด?
Argon2id เป็นค่าเริ่มต้นและคำแนะนำ RFC 9106 สำหรับการแฮชรหัสผ่าน — มันผสมการต้านทาน side-channel ของ Argon2i กับการต้านทานการแคร็ก GPU ของ Argon2d ใช้ Argon2i เฉพาะเมื่อคุณต้องการการเข้าถึงหน่วยความจำแบบไม่ขึ้นกับข้อมูลโดยเฉพาะ และ Argon2d เฉพาะในการตั้งค่าที่ไม่มีความเสี่ยง side-channel
การตั้งค่าหน่วยความจำ การวนซ้ำ และความขนานทำอะไร?
หน่วยความจำ (m เป็น KiB) คือ RAM ที่แฮชเติมเต็ม — ตัวขับต้นทุนหลัก การวนซ้ำ (t) คือจำนวนรอบที่ผ่านหน่วยความจำนั้น ความขนาน (p) คือจำนวน lane ที่คำนวณพร้อมกัน m และ t ที่สูงกว่าหมายถึงแฮชที่แข็งแกร่งกว่าและช้ากว่า ค่าเริ่มต้นคือ m=65536 (64 MiB), t=3, p=1
ทำไมการตั้งค่าหน่วยความจำสูงจึงช้าหรือไม่ตอบสนอง?
Argon2 จัดสรรหน่วยความจำที่ร้องขอในเบราว์เซอร์ของคุณจริง ๆ ดังนั้นค่าเช่น 1 GiB (1048576 KiB) อาจค้างหรือล้มเหลวบนอุปกรณ์ที่มี RAM ต่ำ เครื่องมือเตือนเมื่อเกิน 256 MiB ลด m หากการสร้างค้าง พารามิเตอร์จะถูกเก็บไว้ในแฮชอยู่แล้ว
แฮชมีทุกอย่างที่จำเป็นในการตรวจสอบไหม?
ใช่ ผลลัพธ์ที่เข้ารหัส PHC ฝังตัวแปร เวอร์ชัน พารามิเตอร์ m/t/p salt และ digest ดังนั้นการตรวจสอบจึงต้องการเพียงรหัสผ่านและสตริงนั้นเพียงสตริงเดียว ไม่มีการส่งไปที่ใด ทั้งการแฮชและการตรวจสอบรันภายในเครื่องผ่าน WebAssembly

เครื่องมือเพิ่มเติม