Перейти к содержимому

HTTP Basic Auth Encoder

Кодируйте и декодируйте учётные данные HTTP Basic Authentication. Создавайте значение заголовка Authorization из имени пользователя и пароля.

Об этом инструменте

HTTP Basic Auth Encoder формирует и читает значение заголовка Authorization: Basic, который представляет собой просто base64-кодирование имени пользователя и пароля, соединённых двоеточием (username:password). Он решает повседневную задачу ручной сборки или декодирования этого заголовка при работе с HTTP API.

Чтобы закодировать, введите имя пользователя и пароль, и инструмент вернёт готовое к использованию значение заголовка; чтобы декодировать, вставьте существующий заголовок Basic, и он будет снова разбит на исходные учётные данные. Это удобно для тестирования API, составления запросов curl или Postman и отладки ответов 401 Unauthorized, когда нужно проверить, что именно было отправлено.

Помните, что base64 в Basic-аутентификации — это лишь кодирование, а не шифрование, поэтому любой, кто перехватит его, сможет прочитать учётные данные. По этой причине используйте его строго поверх HTTPS. Здесь всё работает локально в вашем браузере, и ничего из введённого вами никуда не отправляется.

Часто задаваемые вопросы

Реализация кода

import base64

def encode_basic_auth(username: str, password: str) -> str:
    credentials = f"{username}:{password}"
    encoded = base64.b64encode(credentials.encode("utf-8")).decode("utf-8")
    return f"Basic {encoded}"

def decode_basic_auth(header_value: str) -> tuple[str, str]:
    b64 = header_value.removeprefix("Basic ").strip()
    decoded = base64.b64decode(b64).decode("utf-8")
    username, _, password = decoded.partition(":")
    return username, password

header = encode_basic_auth("admin", "secret")
print(header)  # Basic YWRtaW46c2VjcmV0

user, pwd = decode_basic_auth(header)
print(f"Username: {user}, Password: {pwd}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.