Rukovodstvo po instrumentam bezopasnosti

Бесплатно Khesh · HMAC · AES · RSA · JWT · Parol Без регистрации · Данные не сохраняются · Работа офлайн после загрузки

Instrumenty v etom rukovodstve

Генератор хеша
MD5/SHA
Генератор HMAC
HMAC-SHA
Шифрование AES
AES-256
Шифрование RSA
RSA-OAEP
Декодер JWT
Декодировать
Генератор паролей
Создать
Base64
Кодировать/декодировать
Кодировщик URL
Кодировать/декодировать
Последнее обновление: 28 сентября 2026  ·  v1.0
Краткий ответ
Каковы основы инструментов безопасности?

Хэши, HMAC, шифрование и JWT можно проверять в браузере. Не отправляйте данные с устройства и выбирайте алгоритм по назначению.

MD5, SHA-1, SHA-256 и SHA-512

Хеш-функция создаёт дайджест фиксированного размера из входа произвольной длины. Одинаковые байты дают одинаковый результат; даже другой перевод строки может его изменить. Генератор хешей помогает сравнивать контрольные суммы и тестовые данные.

MD5 выдаёт 128 бит, или 32 шестнадцатеричных символа, а SHA-1 — 160 бит. Для обоих известны атаки на коллизии, поэтому они не подходят для новых подписей и защиты целостности от злоумышленника. MD5 ещё встречается при проверке случайных изменений.

SHA-256 и SHA-512 относятся к SHA-2 и выдают 256 и 512 бит. SHA-512 иногда быстрее на 64-битном оборудовании, в зависимости от реализации. Быстрый хеш сам по себе не подходит для паролей: используйте Argon2id, scrypt или правильно настроенный bcrypt с солью.

Подпись запросов с HMAC

HMAC сочетает хеш-функцию с общим секретным ключом. Правильное значение подтверждает целостность и знание ключа, но не публичную личность отправителя. Генератор HMAC помогает воспроизвести подпись при разработке.

AWS Signature Version 4 использует HMAC-SHA256, производные ключи и канонический запрос. Метод, путь, заголовки и хеш тела обрабатываются по спецификации; одного хеша тела недостаточно для подписи AWS.

GitHub передаёт подпись вебхука в X-Hub-Signature-256. Stripe использует Stripe-Signature и включает в вычисление временную метку. Проверяйте исходные байты запроса, сравнивайте подписи за постоянное время и применяйте защиту от повторного воспроизведения. JWT HS256 также использует HMAC-SHA256.

AES и RSA

AES — симметричная схема: один секретный ключ шифрует и расшифровывает. Важен не только размер ключа, но и режим. AES-GCM использует тег аутентификации и запрещает повторное использование nonce с тем же ключом. Инструмент AES подходит для изучения тестовых случаев.

RSA использует открытый и закрытый ключи. Из-за ограничений размера и стоимости обычно шифруют случайный симметричный ключ, а не целый файл. Сами данные затем обрабатывает AES.

Не используйте RSA без дополнения. Инструмент RSA применяет RSA-OAEP; при обмене проверьте параметры хеширования и форматы ключей. Шифрование RSA-OAEP отличается от подписи RSA. Защищайте закрытые ключи и расшифрованные данные.

Структура и риски JWT

Подписанный JWT в компактном формате JWS содержит три части Base64url, разделённые точками: заголовок, полезную нагрузку и подпись. {"alg":"HS256","typ":"JWT"} означает HMAC-SHA256, а RS256 — подпись RSA с SHA-256.

Нагрузка содержит утверждения sub, iss, aud, exp и iat: субъект, издатель, получатель, срок действия и время выпуска. Декодер JWT делает их читаемыми. Декодирование не проверяет подпись и не доказывает, что токен можно принять.

Задавайте разрешённые алгоритмы на сервере и проверяйте подпись, издателя, получателя и срок действия. Не доверяйте alg без проверки и не принимайте none случайно. Подпись JWS не шифрует нагрузку; для конфиденциальности нужен механизм вроде JWE.

Частые вопросы

Можно ли использовать SHA-256 для хеширования паролей?

Нет. SHA-256 — это быстрый хеш общего назначения, что упрощает подбор паролей брутфорсом. Вместо него используйте bcrypt, scrypt или Argon2 — они спроектированы медленными и требовательными к памяти. Наш Password Generator создаёт надёжные пароли; для хранения на сервере следует использовать bcrypt/Argon2.

В чём разница между кодированием и шифрованием?

Кодирование (например, Base64) преобразует данные для совместимости — оно обратимо без ключа. Шифрование (например, AES) защищает конфиденциальность — оно обратимо только с правильным ключом. Никогда не используйте Base64 как меру безопасности.

Как проверить, истёк ли срок действия JWT?

Прочитайте exp декодером JWT и сравните с текущим временем Unix. Неистёкший срок не доказывает правильность подписи; проверьте также подпись, издателя и получателя на сервере.

Безопасно ли генерировать пароли в браузере?

Да, при использовании crypto.getRandomValues(), что и делает наш Password Generator. Это CSPRNG браузера, тот же источник энтропии, что использует операционная система для генерации ключей.

Какой размер ключа AES выбрать?

AES-256 для всех новых приложений. AES-128 технически безопасен против известных атак, но AES-256 обеспечивает больший запас. Разница в производительности на современном оборудовании незначительна.