# Генератор 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?

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

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
