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

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

base64 [OPTION] [INFILE] [OUTFILE]

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

Параметры:

-e или –encode

Этот параметр используется для кодирования любых данных из стандартного ввода или из любого файла. Это параметр по умолчанию.

-d или –decode

Этот параметр используется для декодирования любых закодированных данных из стандартного ввода или из любого файла.

-n или –noerrcheck

По умолчанию base64 проверяет ошибки при декодировании любых данных. Вы можете использовать параметр –n или –noerrcheck, чтобы игнорировать проверку во время декодирования.

-u или –help

Эта опция используется для получения информации об использовании этой команды.

-i, –ignore-garbage

Эта опция используется для игнорирования небуквенных символов при декодировании.

–copyright

Используется для получения информации об авторских правах.

–version

Используется для получения информации о версии.

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

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

Вы можете кодировать любые текстовые данные с использованием base64 в командной строке. Если вы хотите закодировать какие-либо данные с помощью base64, использование опции -e или –encode необязательно. Итак, если вы не укажете какой-либо вариант с base64, он будет работать для кодирования. Следующая команда закодирует данные ‘ linuxhint.com’ и распечатает закодированные данные в качестве вывода.

$ echo ‘linuxhint.com ‘| base64

Вывод:

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

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

$ echo ‘bGludXhoaW50LmNvbQo =’ | base64 —decode

Вывод:

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

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

Образец. txt
PHP использует base64_encode и base64_decode для кодирования и декодирования данных

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

$ base64 sample. txt

Вывод:

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

$ base64 sample.txt> encodedData.txt
$ cat encodedData.txt

Вывод:

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

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

$ base64 -d encodedData.txt

Вывод:

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

$ base64 —decode encodedData.txt> originalData.txt
$ cat originalData.txt

Вывод:

Пример № 5: Кодирование любого пользовательского определенный текст

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

#!/Bin/bash
echo «Введите текст для кодирования»
прочитать текст
etext = `echo -n $ text | base64`
echo «Закодированный текст: $ etext»

Запустить сценарий.

$ base encode_user_data .sh

Вывод:

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

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

#!/bin/bash
echo «Введите секретный код»
прочитайте секрет
otext = `echo ‘Nzc3Nzk5Cg == ‘| base64 —decode`
если [$ secret == $ otext]; затем
echo «Вы прошли аутентификацию»
else
echo «Вы не аутентифицированы»
fi

Запустить сценарий.

$ bash checkValidity.sh

Вывод:

Заключение:

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

Оцените статью
nanomode.ru
Добавить комментарий