Подписчик и отписчик cookie
Подписывайте и отписывайте значения HTTP cookie с помощью HMAC-SHA256 для безопасного управления сеансами и проверки целостности данных
Ввод
Вывод
Документация
Что такое подписывание cookie?
Подписывание cookie - это техника безопасности, которая добавляет криптографическую подпись к значениям cookie, обеспечивая их целостность и подлинность. Когда сервер отправляет cookie в браузер, он добавляет к значению cookie код аутентификации сообщения на основе хеша (HMAC). Эта подпись создается с использованием секретного ключа, известного только серверу. Когда браузер отправляет cookie обратно, сервер может проверить подпись, чтобы подтвердить, что cookie не был изменен.
Как работает подписывание HMAC-SHA1?
HMAC (код аутентификации сообщения на основе хеша) сочетает криптографическую хеш-функцию с секретным ключом, чтобы создать уникальную подпись. Для подписывания cookie процесс выглядит следующим образом:
Подписывание: Исходное значение cookie объединяется с секретным ключом с использованием алгоритма HMAC-SHA1, что создает подпись. Окончательный формат подписанного cookie выглядит так:
значение.подпись, где подпись закодирована в base64url.Проверка: При получении подписанного cookie сервер извлекает исходное значение и подпись, пересчитывает ожидаемую подпись с использованием того же секретного ключа и сравнивает их с использованием сравнения, безопасного от атак по времени, чтобы предотвратить атаки по времени.
Зачем использовать подписанные cookie?
Неподписанные cookie легко могут быть изменены пользователями или вредоносными скриптами. Пользователь может изменить свой идентификатор сеанса, роль пользователя или другие конфиденциальные данные, хранящиеся в cookie. Подписанные cookie предотвращают это, делая любое изменение обнаруживаемым - если значение меняется, подпись становится недействительной.
Описание инструмента
Этот инструмент позволяет подписывать и отменять подписи cookie с использованием подписей HMAC-SHA1, совместимых с популярным форматом пакета cookie-signature npm. Введите значение своего cookie и секретный ключ, чтобы сгенерировать подписанный cookie, или вставьте подписанный cookie, чтобы извлечь и проверить его исходное значение.
Примеры
Подписывание cookie:
| Ввод (неподписанный) | Секретный ключ | Вывод (подписанный) |
|---|---|---|
user123 |
my-secret-key |
user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4 |
session_abc |
app-secret |
session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A |
Отмена подписи cookie:
| Ввод (подписанный) | Секретный ключ | Вывод (неподписанный) |
|---|---|---|
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo |
password |
test |
Обнаружение недействительной подписи:
Если вы попытаетесь отменить подпись cookie с неправильным секретным ключом или измененным значением, инструмент отобразит ошибку "Недействительная подпись".
Возможности
- Подписывание cookie с использованием HMAC-SHA1 с любым секретным ключом
- Отмена подписи и проверка подписанных cookie для извлечения исходных значений
- Сравнение, безопасное от атак по времени, предотвращает атаки по времени во время проверки