Про цей інструмент
Генератор і верифікатор хешів scrypt KDF виводить і перевіряє виходи scrypt локально у вашому браузері. scrypt, розроблений Colin Percival і стандартизований у RFC 7914, — це memory-hard функція виведення ключа: її вартість навмисно визначається пропускною здатністю пам'яті, тож спеціальне обладнання для злому отримує мало переваги. Конвеєр — це PBKDF2-HMAC-SHA256 для розширення пароля, функція ROMix, побудована на BlockMix і ядрі Salsa20/8 для примусового великого послідовного використання пам'яті, і фінальний PBKDF2-HMAC-SHA256 для отримання виведеного ключа обраної вами довжини.
Режим генерації читає 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, сіль і збережений ключ із того рядка, перераховує виведений ключ із кандидатським паролем і робить порівняння за сталий час, щоб повідомити збіг чи незбіг. Ядро scrypt працює як eval-free WebAssembly-збірка під строгою політикою безпеки браузера, тож паролі обробляються на 100% у вашому браузері, і ніщо не завантажується.