Chaining в JS, TypeScript. Код-ревью.
Хеширование данных - bcryptjs.
bcryptjs - это библиотека для хеширования паролей в JavaScript. Она предоставляет простой интерфейс для хеширования и сравнения паролей с использованием алгоритма bcrypt. Вот примеры кода, демонстрирующие использование bcryptjs: 1. Установка библиотеки: npm install bcryptjs yarn add bcryptjs pnpm install bcryptjs 2. Хеширование пароля: const bcrypt = require('bcryptjs'); const password = 'myPassword123'; bcrypt.genSalt(10, (err, salt) => { bcrypt.hash(password, salt, (err, hash) => { if (err) throw err; // сохраните хеш в базу данных или в другое безопасное место console.log(hash); }); }); 3...
Чему нас учит инцидент с Okta и Bcrypt: взгляд на дизайн API и безопасность
В ноябре прошлого года широко обсуждалась история компании Okta, когда из-за неочевидной особенности Bcrypt оказалось возможным «сломать» часть процесса аутентификации. Причём, уязвимость выглядела довольно экзотично, но в реальности имеет прямое отношение ко многим популярным реализациям Bcrypt во множестве языков — Java, JavaScript, Python, Rust, а главное, к тому, как мы проектируем API в сфере безопасности. В этой статье я расскажу, почему это произошло, и какие практики в дизайне API помогут избежать подобных ситуаций...