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