Генератор на scrypt
Изведете ключ scrypt от парола с произволна или зададена от вас сол. Изберете степен на разход до 15 (N до 32768), размер на блока r до 8, паралелизъм p до 4 и дължина на ключа от 16 до 64 байта. Инструментът следва RFC 7914 и връща ключа, използваната сол и параметрите в hex или Base64, готови за сравнение с Node.js crypto.scrypt, Python hashlib или libsodium. Паролата не се връща в отговора.
Често задавани въпроси
Какво е scrypt?
Scrypt е функция за извеждане на ключ, която изисква много памет, създадена от Colin Percival и стандартизирана в RFC 7914. Тя извежда ключ от парола и сол, като принуждава всеки опит да използва голям блок памет. Използва се за съхранение на пароли, криптиране на дискове и някои криптовалути.
Какво означават N, r и p?
N определя разхода на процесор и памет и трябва да е степен на две; r е размерът на блока, а p е коефициентът на паралелизация. Използването на памет е около 128 пъти N по r байта, така че N = 16384 с r = 8 изисква 16 MiB. Тук N е до 32768, r — до 8, а p — до 4.
Какви са параметрите по подразбиране?
Стойностите по подразбиране са N = 16384 (степен на разход 14), r = 8, p = 1 и ключ с дължина 32 байта — интерактивните настройки, препоръчани в публикацията за scrypt. Увеличете N за по-добра защита, доколкото системата ви позволява.
Как се избира солта?
Ако полето за сол е празно, инструментът създава 16 случайни байта и ги показва в резултата. Ако въведете сол, се използват нейните UTF-8 байтове, което ви позволява да възпроизведете ключ от друга система. Никога не използвайте една и съща сол за различни пароли.
Мога ли да възпроизведа тестовите вектори на RFC 7914?
Да. Паролата pleaseletmein със сол SodiumChloride, степен на разход 14, r = 8, p = 1 и ключ с дължина 64 байта дава 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887 — третия вектор в RFC.
Защо параметрите имат ограничения?
Scrypt заделя реална памет и работи на споделен сървър. Ограниченията N до 32768, r до 8 и p до 4 поддържат използваната от всяко извеждане памет под около 32 MiB и времето за работа до секунда-две.
Как да съхранявам хеш на парола scrypt?
Съхранявайте заедно ключа, солта и N, r и p, защото ще са ви необходими, за да проверите паролата по-късно. Библиотеки като Node.js crypto.scrypt оставят избора на формат за съхранение на вас, докато други използват собствени низови формати.
Включена ли е паролата ми в резултата?
Не. Отговорът съдържа ключа, солта и параметрите, но никога паролата. Нищо не се записва в лог или не се запазва.
Да използвам ли scrypt или Argon2?
И двете затрудняват атаките с много памет и са подходящи за пароли. Argon2id е по-новата препоръка и се настройва по-лесно, докато scrypt се поддържа широко в стандартни библиотеки като Node.js и Python.
Какво променят опциите hex и Base64?
Те променят начина, по който ключът и солта се записват в резултата. Байтовете са същите, затова изберете формата, който вашият код може да прочете.