Кодировка Base 64 в HTTP Basic Auth - PullRequest
4 голосов
/ 08 апреля 2011

Мне интересно, какова цель кодирования строки: «логин: пароль» в базе 64 при использовании HTTP Basic Auth.

  • База 64 обычно используется для отправки двоичных данных только по протоколам ASCII. Но логин: пароль уже является строкой
  • Не добавляет никакого уровня безопасности
  • Выходной сигнал длиннее входного, поэтому он не улучшает характеристики

Я, вероятно, что-то упускаю, так как в настоящее время мне кажется, что это кодирование просто добавляет ненужный уровень сложности.

Спасибо

Ответы [ 3 ]

7 голосов
/ 08 апреля 2011

С http://en.wikipedia.org/wiki/Basic_access_authentication

Безопасность не является целью этапа кодирования.Скорее, цель кодирования состоит в том, чтобы закодировать не HTTP-совместимые символы, которые могут быть в имени пользователя или пароле, в те, которые HTTP-совместимы.

3 голосов
/ 08 апреля 2011

Моя первая мысль - это то, что он закодирован в Base64, чтобы сделать его менее очевидным, что на самом деле это имя пользователя и пароль.

Во-вторых, люди могут помещать в пароли всевозможные странные символы - при кодировании в Base64 данные помещаются в менее «грязный» формат, если хотите.

Кроме того, длина вывода в строке Base64 довольно незначительна; пара дополнительных пакетов данных не приведет к ухудшению производительности на какое-либо заметное количество.

Из Википедии :

Хотя кодирование имени пользователя и пароля с помощью алгоритма Base64 обычно делает их нечитаемыми невооруженным глазом, они так же легко декодируются, как и кодируются. Безопасность не является целью шага кодирования. Скорее, цель кодирования состоит в том, чтобы закодировать не HTTP-совместимые символы, которые могут быть в имени пользователя или пароле, в те, которые HTTP-совместимы.

Википедия, кажется, подтверждает мои первоначальные мысли. Ура!

0 голосов
/ 25 апреля 2014

Кодирование с base64 обычно сопровождается соединением через соединение SSL, которое затем шифрует зашифрованное имя пользователя и пароль для дополнительной безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...