Генератор и декодер заголовка Basic Auth
Введите логин и пароль — получите заголовок Authorization: Basic для HTTP Basic-аутентификации, отдельно токен Base64 и команду curl. Вставьте заголовок из лога или конфигурации, чтобы расшифровать его обратно в логин и пароль. Всё остаётся в вашем браузере.
Работает в браузере: всё, что вы вводите, никуда не отправляется.
Как пользоваться
- В блоке «Создать заголовок» введите логин и пароль. Сразу появятся полный заголовок, его значение, голый токен Base64 и команда curl.
- Скопируйте нужную строку в HTTP-клиент, файл конфигурации или тест.
- В блоке «Расшифровать заголовок» вставьте строку Authorization целиком, Basic с токеном или только токен — и прочитайте логин и пароль.
Как это работает
HTTP Basic-аутентификация (RFC 7617) передаёт учётные данные в одном заголовке запроса:
- Соединить:
логин:пароль.
- Закодировать текст в байты UTF-8.
- Закодировать байты в Base64.
- Отправить
Authorization: Basic <Base64>.
Расшифровка проходит те же шаги в обратном порядке и делит текст по первому двоеточию.
Пример
Пример из RFC 7617: логин Aladdin, пароль open sesame.
- Вместе:
Aladdin:open sesame (19 символов, 19 байт).
- Base64:
QWxhZGRpbjpvcGVuIHNlc2FtZQ== (19 байтам нужно 7 групп по 4 символа, последняя дополнена ==).
- Заголовок:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.
Советы
- curl умеет собирать заголовок сам:
curl -u 'Aladdin:open sesame' https://example.com/ отправит ту же строку.
- Сервер, который отвечает 401 с
WWW-Authenticate: Basic, просит именно этот заголовок.
- Если нашли заголовок Basic в логе или репозитории, считайте пароль утёкшим и смените его.
Частые вопросы
Как устроен заголовок Basic Auth?
Логин и пароль соединяются двоеточием — логин:пароль, текст кодируется в байты UTF-8, затем в Base64, и результат ставится после слова Basic: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.
Basic-аутентификация безопасна?
Base64 — это кодирование, а не шифрование: любой, кто видит заголовок, может его расшифровать, как и показывает эта страница. Отправляйте Basic Auth только по HTTPS, а для долгоживущего доступа предпочитайте токены, которые можно отозвать.
Может ли в пароле быть двоеточие?
Да. Двоеточия не может быть только в логине, потому что сервер делит строку по первому двоеточию. Декодер тоже делит по первому, так что пароль вроде pa:ss возвращается целиком.
А если в логине или пароле кириллица?
Они кодируются в UTF-8: RFC 7617 позволяет серверу запросить эту кодировку параметром charset="UTF-8", и большинство клиентов сегодня используют её. Очень старый сервер, который ждёт другую кодировку, может такой пароль не принять.
Мой пароль куда-нибудь отправляется?
Нет. Заголовок создаётся и расшифровывается JavaScript на этой странице, ничего не покидает ваше устройство.