Timing attack: по времени ответа можно угадать правильный пароль/токен. Проблема: string === string прерывается при первом несовпадении → разное время. Решение: crypto.timingSafeEqual(a, b) — всегда сравнивает целиком, одинаковое время. Используй при: сравнении HMAC, JWT подписей, API ключей. bcrypt.compare() уже защищён. Для паролей всегда bcrypt/argon2 — они медленные намеренно. timingSafeEqual требует одинаковую длину буферов — паддинг или хеш фиксированной длины.
Как защитить от timing attacks в Node.js?
Senior
241 просмотровAFK Offer AI
Как работает garbage collection в V8?