Я не получаю шифрование Base64.
Если можно расшифровать строку Base64, для чего это нужно?
Почему он используется для аутентификации HTTP Basic?
Это все равно, что сказать кому-то, что мой пароль перевернут на OLLEH.
Люди, увидевшие OLLEH, будут знать, что исходный пароль был HELLO.
security
encryption
base64
ajsie
источник
источник
Ответы:
Base64 - это не шифрование - это кодировка. Это способ представления двоичных данных с использованием только печатаемых (текстовых) символов.
См. Этот абзац на странице википедии о базовой аутентификации HTTP :
источник
Обычно это называется кодировкой base64, а не шифрованием! Приятная вещь в кодировке base64 заключается в том, что она позволяет вам представлять (двоичные) данные, используя только ограниченное общее подмножество доступных символов, что намного эффективнее, чем просто запись строки из единиц и нулей, например, в виде ASCII.
источник
x2
больше байтов, чем исходный поток, а единицы, 0 - сделают вx8
раз больше байтов. (И Base64 делаетx1.3
больше данных, чем исходный массив байтов). Поэтому иногда допустимо кодировать двоичный поток как шестнадцатеричную строку, удваивая количество байтов - например, просто для хранения хэша пароля в базе данных.En crypt ion требует ключа (строки или алгоритма) для расшифровки; отсюда и "крипта" (корень: криптография )
En COD ИНГ модифицирует / смены / изменяет код символа в другой. В этом случае обычные байты данных теперь могут быть легко представлены и переданы с помощью HTTP.
источник
На обыденном языке «код» - это нечто секретное. В науке и технике код - это просто соглашение, набор правил о том, как что-то написать.
Этот код может быть секретным. В этом случае это называется шифрованием. Но в целом код не секрет. Возьмите генетический код. Он просто утверждает , что наша ДНК построена из четырех различных баз -
A
,C
,G
иT
и что три основы вместе образуют одну аминокислоту. Также есть таблица, в которой три буквы образуют аминокислоту.В этом коде нет ничего секретного.
Точно так же Base64 не является секретным кодом. Скорее, это код, который позволяет хранить данные в шести битах на символ (таким образом, существует 64 различных объекта, то есть «база» системы равна 64, так же как основание нашей десятичной системы равно 10, поскольку существует 10 различных объектов. называется «цифрами»).
источник
Вы можете иметь в виду «Кодировка Base 64». Шифрование - это не то же самое, что кодирование.
Википедия: Шифрование
источник
Кодировка Base-64 является частью спецификаций MIME. Он обеспечивает безопасное для транспорта кодирование данных, которые не будут обработаны, если / когда они будут переданы через хост, который использует схему кодирования, отличную от той, которая использовалась исходным клиентом.
На интертубах много разных хостов, и вы не можете предполагать поддержку чего-либо, кроме 7-битного ASCII, без риска потери / путаницы данных.
Например, в мэйнфреймах IBM используется кодировка под названием EBCDIC (которая бывает во многих разных вариантах). Его кодовые точки полностью отличаются от кодовых точек, используемых компьютерами на основе ASCII - в ASCII буквы AZ равны 0x41 - 0x5A; в EBCDIC буквы A - Z даже не являются непрерывным диапазоном: буквы AI живут в 0xC1 - 0xC9, буквы JR живут в 0xD1 - 0xD9, а буквы SZ живут в 0xE2 - 0xE9.
источник
По умолчанию параметры поля заголовка сообщения в сообщениях протокола передачи гипертекста (HTTP) не могут содержать символы, выходящие за пределы набора символов ISO-8859-1.
Если имя пользователя и пароль содержат несовместимую кодировку, тогда HTTP не сможет передавать этот текст. чтобы предотвратить это, мы кодируем имя пользователя и пароль с помощью base64, чтобы убедиться, что мы отправляем HTTP-совместимый char через HTTP. для получения дополнительной информации см. этот Basic_access_authentication
источник