Хеши/крипто
Scrypt Hash + Verify
Хеширование паролей через scrypt (RFC 7914, memory-hard KDF) с проверкой пароля против имеющегося хеша.
Scrypt (RFC 7914) was one of the first memory-hard password-hashing algorithms: it deliberately requires a lot of RAM, not just CPU time, to make parallel brute-forcing on GPUs and ASICs harder.
How to use it
- Hash: enter a password and tune the parameters (N — memory cost, r — block size, p — parallelism) to get a hash.
- Verify: paste a password and an existing scrypt hash to check whether they match.
- Every hash uses a fresh random salt, so the same password produces a different hash each time.
Common uses
- Checking that a backend correctly hashes passwords with scrypt before storing them.
- Generating a test scrypt hash for fixtures or seed data during development.
- Comparing scrypt against bcrypt and Argon2 when choosing a hashing algorithm for a new project.
Things to keep in mind
The N parameter (memory cost) increases both required memory and compute time exponentially — tune it to your server's actual capacity.
Scrypt has been superseded by Argon2 (the official Password Hashing Competition winner) as the recommended choice for new systems, though scrypt itself still isn't considered unsafe.
Статья об этом инструменте: Scrypt: зачем алгоритму нужно много памяти
Часто задаваемые вопросы
Чем scrypt отличается от bcrypt или PBKDF2?
Scrypt намеренно требователен как к памяти, так и к CPU, что делает его значительно дороже для взлома на GPU или специализированном ASIC-оборудовании по сравнению с bcrypt или PBKDF2, которые в основном противостоят лишь перебору на CPU.
За что отвечают параметры N, r и p?
N задаёт стоимость CPU/памяти (должен быть степенью двойки), r — размер блока, влияющий на использование памяти за операцию, а p — параллелизацию; увеличение любого из них повышает стоимость ресурсов как для легитимного использования, так и для атак.
Всё ещё ли scrypt хороший выбор по сравнению с Argon2?
Scrypt остаётся надёжным и проверенным временем, но для новых систем обычно рекомендуют Argon2 (победителя Password Hashing Competition), поскольку он предлагает более тонкое управление памятью и устойчивостью к атакам по побочным каналам.
Сколько памяти реально потребляет scrypt?
Примерно 128 × N × r байт на одно вычисление. При типичных параметрах (N=16384, r=8) это около 16 мегабайт на один хеш — незначительно для одного логина, но существенно при тысячах одновременных аутентификаций на сервере.
Где ещё применяется scrypt, кроме хеширования паролей?
Scrypt известен как алгоритм proof-of-work в некоторых криптовалютах (например, Litecoin) — его выбрали именно из-за устойчивости к майнингу на специализированных ASIC-устройствах, характерной для биткоина с его SHA-256.