Bu araç hakkında
scrypt KDF Hash Oluşturucu ve Doğrulayıcı, scrypt çıktılarını tarayıcınızda yerel olarak türetir ve kontrol eder. Colin Percival tarafından tasarlanan ve RFC 7914'te standartlaştırılan scrypt, bellek zorlu bir anahtar türetme fonksiyonudur: maliyeti kasıtlı olarak bellek bant genişliğine hâkimdir, böylece özel kırma donanımı çok az avantaj kazanır. Boru hattı, parolayı genişletmek için PBKDF2-HMAC-SHA256, büyük sıralı bellek kullanımını zorlamak için BlockMix ve Salsa20/8 çekirdeği üzerine kurulu ROMix fonksiyonu ve seçtiğiniz uzunlukta türetilmiş anahtarı üretmek için son bir PBKDF2-HMAC-SHA256'dır.
Oluşturma modu, crypto.getRandomValues'dan 16 rastgele salt baytı okur ve scrypt'i üç maliyet parametresiyle çalıştırır: N, CPU/bellek maliyetidir ve ikinin kuvveti olmalıdır (varsayılan 16384 = 2^14), r blok boyutudur (varsayılan 8) ve p paralelleştirme faktörüdür (varsayılan 1). Bellek kullanımı kabaca 128 · N · r bayttır — varsayılanlarda yaklaşık 16 MiB — ve ayarlarınız 256 MiB'yi aşacaksa araç uyarır. Çıktı, ln = log2(N) olan kendini tanımlayan bir dizedir: $scrypt$ln=14,r=8,p=1$<base64 salt>$<base64 key>, böylece doğrulamak için gereken her parametre hash'le taşınır.
Doğrulama modu, ln, r, p, salt'ı ve saklanan anahtarı o dizeden ayrıştırır, türetilmiş anahtarı aday parolayla yeniden hesaplar ve eşleşme ya da eşleşmeme bildirmek için sabit zamanlı bir karşılaştırma yapar. scrypt çekirdeği, tarayıcının katı güvenlik politikası altında eval'sız bir WebAssembly derlemesi olarak çalışır, böylece parolalar %100 tarayıcınızda işlenir ve hiçbir şey yüklenmez.