Какие знаешь стандарты шифрования

Ответ

Веб-приложения часто используют:

  • HTTPS (TLS/SSL) — защита передачи данных
  • AES (Advanced Encryption Standard) — симметричное шифрование (256-bit ключ)
  • RSA — асимметричное шифрование (ключевые пары)
  • JWT (JSON Web Tokens) — подписанные токены (обычно HMAC или RSA)

Пример JWT с HS256:

const token = jwt.sign({ user: 'admin' }, 'secret_key', { algorithm: 'HS256' });

Для хранения паролей:

  • bcrypt (хеширование с "солью")
  • PBKDF2 (на основе пароля)

Важно: никогда не храните секреты/ключи в клиентском коде!

Ответ 18+ 🔞

А, ну это классика, блядь! Веб-приложения — они как мартышлюшки на базаре: с виду красивые, а внутри сплошные секретики, которые все норовят утянуть.

Смотри, что у них там в сумочке обычно лежит, чтобы не обосраться с безопасностью:

  • HTTPS (TLS/SSL) — это типа наш броневичок. Всё, что туда-сюда летает, запечатано, чтобы какой-нибудь хитрожопый посредник не подслушал, как ты пароль своей карточки вводишь. Без этого — вообще ни в какие ворота, пиздец.
  • AES — это наш главный сейф. Симметричный, значит ключ один и тот же и для закрытия, и для открытия. Берёт данные и так их перемешает с ключом (обычно на 256 бит), что получается каша, блядь, ебушки-воробушки! Без ключа — нихуя не прочитать.
  • RSA — а это уже хитрый замок с двумя ключами. Один (публичный) — всем показывай, им данные запирают. А второй (приватный) — под подушку, им только отпирают. Идеально для начала разговора, чтобы секретный ключ AES передать.
  • JWT — вот это, сука, любимая фишка всех апишек. Токен, который сам за себя говорит. Внутри записочка, кто ты такой, а сбоку — подпись, чтобы её не подделали. Подписывать можно и симметрично (HMAC), и асимметрично (RSA). Главное, ключ для подписи НЕ КЛАСТЬ В КЛИЕНТСКИЙ КОД, а то будет пизда.

Вот, смотри, как эту штуку на коленке делают:

const token = jwt.sign({ user: 'admin' }, 'secret_key', { algorithm: 'HS256' });

Видишь 'secret_key'? Это тот самый пиздец, если он у клиента окажется. Любой мудак сможет себе токен «админа» слепить, ёпта!

А для паролей — вообще отдельная песня. Их в открытом виде хранить — это просто волнение ебать, терпения ноль ебать. Поэтому их хешируют с приправами:

  • bcrypt — берёт пароль, посыпает «солью» (случайной строкой) и начинает его так долго и нудно месить, что обратно не восстановить. Идеально, блядь.
  • PBKDF2 — похожая история, тоже с солью и тысячами раундов перемешивания.

Короче, запомни, как «Отче наш»: все эти ключи, секреты и «соли» должны сидеть на сервере, в надёжном месте. А клиенту — только готовые, подписанные жетоны. Иначе — накрылся медным тазом весь твой security, пидары налетят в секунду.