حول هذه الأداة
يشتقّ مولّد ومحقّق تجزئة scrypt KDF مخرجات scrypt ويفحصها محلياً في متصفحك. scrypt، الذي صمّمه Colin Percival ومُقنَّن في RFC 7914، دالة اشتقاق مفتاح صعبة الذاكرة: تكلفتها مُصمَّمة لتهيمن عليها عرض نطاق الذاكرة بحيث يكسب عتاد الكسر المخصّص ميزة ضئيلة. خطّ الأنابيب هو PBKDF2-HMAC-SHA256 لتوسيع كلمة المرور، ثم دالة ROMix المبنية على BlockMix ونواة Salsa20/8 لفرض استخدام ذاكرة تسلسلي كبير، وأخيراً PBKDF2-HMAC-SHA256 لإنتاج المفتاح المشتق بالطول الذي تختاره.
يقرأ وضع التوليد 16 بايت ملح عشوائية من crypto.getRandomValues ويشغّل scrypt بثلاثة معاملات تكلفة: N هي تكلفة المعالج/الذاكرة ويجب أن تكون قوة للاثنين (الافتراضي 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 والملح والمفتاح المخزَّن من تلك السلسلة، ويعيد حساب المفتاح المشتق بكلمة المرور المرشّحة، ويجري مقارنة بزمن ثابت للإبلاغ عن التطابق أو عدمه. تعمل نواة scrypt كبنية WebAssembly خالية من eval تحت سياسة الأمان الصارمة للمتصفح، فتُعالَج كلمات المرور 100% في متصفحك ولا يُرفَع أي شيء.