Перейти к содержимому

Генератор Scrypt

Получите ключ scrypt из пароля со случайной или заданной солью. Выберите показатель затратности до 15 (N до 32768), размер блока r до 8, параллелизм p до 4 и длину ключа от 16 до 64 байт. Инструмент соответствует RFC 7914 и возвращает ключ, использованную соль и параметры в формате hex или Base64, готовые для сравнения с Node.js crypto.scrypt, Python hashlib или libsodium. Пароль не выводится.

Сбросить

Часто задаваемые вопросы

Что такое scrypt?

Scrypt — функция получения ключа с высокой потребностью в памяти, разработанная Колином Персивалем и стандартизированная в 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?

Они меняют способ записи ключа и соли в результате. Байты остаются теми же, поэтому выберите формат, который читает ваш код.

О проекте OneClick Pro

OneClick Pro — это бесплатная коллекция из более чем 150 веб-инструментов для повседневных задач: преобразования изображений и единиц измерения, форматирования и проверки кода, проверки доменов и SEO, а также работы с текстом, датами и числами. Все инструменты доступны без регистрации и подписки, а введенные вами данные используются только для расчета результата и никогда не сохраняются. Используйте коллекцию как быстрый набор инструментов для разовых задач или добавьте в закладки те, которыми пользуетесь каждый день.