เกี่ยวกับเครื่องมือนี้
ตัวสร้างและตรวจสอบแฮช scrypt KDF อนุมานและตรวจสอบผลลัพธ์ scrypt ภายในเบราว์เซอร์ของคุณ scrypt ออกแบบโดย Colin Percival และเป็นมาตรฐานใน RFC 7914 เป็นฟังก์ชันอนุมานคีย์แบบ memory-hard: ต้นทุนของมันถูกครอบงำโดยแบนด์วิดท์หน่วยความจำโดยเจตนา เพื่อให้ฮาร์ดแวร์แคร็กที่สร้างขึ้นเองได้เปรียบน้อย ไปป์ไลน์คือ PBKDF2-HMAC-SHA256 เพื่อขยายรหัสผ่าน ฟังก์ชัน ROMix ที่สร้างบน BlockMix และ Salsa20/8 core เพื่อบังคับการใช้หน่วยความจำแบบลำดับขนาดใหญ่ และ PBKDF2-HMAC-SHA256 สุดท้ายเพื่อสร้างคีย์ที่อนุมานได้ตามความยาวที่คุณเลือก
โหมดสร้างอ่านไบต์ salt แบบสุ่ม 16 ไบต์จาก crypto.getRandomValues และรัน scrypt ด้วยพารามิเตอร์ต้นทุนสามตัว: N คือต้นทุน CPU/หน่วยความจำและต้องเป็นกำลังสอง (ค่าเริ่มต้น 16384 = 2^14), r คือขนาดบล็อก (ค่าเริ่มต้น 8) และ p คือแฟกเตอร์การขนาน (ค่าเริ่มต้น 1) การใช้หน่วยความจำอยู่ที่ประมาณ 128 · N · r ไบต์ ประมาณ 16 MiB ที่ค่าเริ่มต้น และเครื่องมือเตือนเมื่อการตั้งค่าของคุณจะเกิน 256 MiB ผลลัพธ์คือสตริงที่อธิบายตัวเอง $scrypt$ln=14,r=8,p=1$<base64 salt>$<base64 key> โดย ln = log2(N) ดังนั้นทุกพารามิเตอร์ที่จำเป็นในการตรวจสอบจึงติดไปกับแฮช
โหมดตรวจสอบแยกวิเคราะห์ ln, r, p, salt และคีย์ที่จัดเก็บออกจากสตริงนั้น คำนวณคีย์ที่อนุมานใหม่ด้วยรหัสผ่านที่เป็นตัวเลือก และทำการเปรียบเทียบแบบ constant-time เพื่อรายงานตรงหรือไม่ตรง scrypt core รันเป็น WebAssembly build แบบไม่มี eval ภายใต้นโยบายความปลอดภัยที่เข้มงวดของเบราว์เซอร์ ดังนั้นรหัสผ่านจึงประมวลผล 100% ในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด