Bash: Кодирование и декодирование base64

Для кодирования или декодирования стандартного ввода/вывода или любого содержимого файла Linux использует систему кодирования и декодирования base64. Данные кодируются и декодируются, чтобы облегчить процесс передачи и хранения данных. Кодирование и декодирование не похожи на шифрование и дешифрование. Закодированные данные могут быть легко раскрыты путем декодирования.

Таким образом, этот инструмент командной строки не может использоваться для защиты данных. Для кодирования любых данных используются алфавит, число и символ '='.

Синтаксис

Вы можете использовать различные типы опций с командой base64. При кодировании или декодировании данные могут быть взяты из любого файла или стандартного ввода. После кодирования или декодирования вы можете отправить вывод в файл или распечатать его в терминале.

Параметры

  • -e или -encode - Эта опция используется для кодирования любых данных со стандартного ввода или из любого файла. Это опция по умолчанию.
  • -d или -decode - Эта опция используется для декодирования любых закодированных данных со стандартного ввода или из любого файла.
  • -n или -noerrcheck - По умолчанию base64 проверяет ошибки при декодировании любых данных. Вы можете использовать опцию -n или -noerrcheck, чтобы игнорировать проверку во время декодирования.
  • -u или -help - Эта опция используется для получения информации об использовании данной команды.
  • -i, -ignore-garbage - Эта опция используется для игнорирования неалфавитных символов при декодировании.
  • -copyright - Эта опция используется для получения информации об авторских правах.
  • -version - Используется для получения информации о версии.

Как использовать команду base64 в Linux, показано в этом уроке на нескольких примерах.

Использование base64

Пример 1: Кодирование текстовых данных

Вы можете закодировать любые текстовые данные с помощью base64 в командной строке. Когда вы хотите закодировать какие-либо данные с помощью base64, использование опции -e или -encode является необязательным. Поэтому, если вы не укажете никакой опции в base64, то он будет работать для кодирования. Следующая команда закодирует данные 'g-soft.info' и выведет закодированные данные в качестве вывода.

Вывод:

Zy1zb2Z0LmluZm8K

 

Пример 2: Декодирование текстовых данных

Следующая команда декодирует закодированный текст 'bGludXhoaW50LmNvbQ==' и выведет исходный текст.

Вывод:

Декодирование текстовых данных base64

Пример 3: Кодирование текстового файла

Создайте текстовый файл с именем 'sample.txt' со следующим текстом, который будет закодирован с помощью base64.

sample.txt

Вы можете вывести закодированный текст в командной строке или сохранить его в другом файле. Следующая команда закодирует содержимое файла sample.txt и выведет закодированный текст в терминал.

Вывод:

base64 sample.txt

Следующие команды закодируют содержимое файла sample.txt и сохранят закодированный текст в файл encodedData.txt.

Выходные данные:

Кодирование текстового файла

Пример 4: Декодирование текстового файла

Следующая команда декодирует содержимое файла encodedData.txt и выведет вывод в терминале

Вывод:

Декодирование текстового файла

Следующие команды декодируют содержимое файла encodedData.txt и сохраняют декодированное содержимое в файл originalData.txt.

Выходные данные:

Декодирование текстового файла

Пример 5: Кодирование произвольного текста, заданного пользователем

Создайте файл bash с именем encode_user_data.sh со следующим кодом. Следующий скрипт примет на вход любые текстовые данные, закодирует их с помощью base64 и выведет закодированный текст.

Запустите скрипт.

Выходные данные:

Кодирование произвольного текста, заданного пользователем

Пример 6: Проверка валидности пользователя путем декодирования текста

Создайте bash-файл с именем check.sh и добавьте в него следующий код. В этом примере у пользователя берется секретный текст. Предопределенный закодированный текст декодируется с помощью base64 и сравнивается с введенным пользователем. Если оба значения равны, то результатом будет "Вы не аутентифицированы", в противном случае результатом будет "Вы не аутентифицированы". Используя этот простой код декодирования, можно очень легко выполнить обычную проверку подлинности.

Запустите скрипт.

Вывод:

Проверка валидности пользователя путем декодирования текста

Заключение

Для любых чувствительных данных, таких как пароль или любые конфиденциальные данные, система кодирования и декодирования не подходит. Для защиты таких данных необходимо использовать систему шифрования и дешифрования.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий