Основи командного рядка Linux: Кодування та декодування рядків Base64

Основи командного рядка Linux: Кодування та декодування рядків Base64

08:20, 30.04.2024

Зміст статті
arrow

  • Кодування та декодування Base64 у командному рядку Linux: Огляд
  • 1. Використання Base64
  • 1.1. Кодування за допомогою Base64
  • 1.2. Декодування Base64
  • Наприклад:
  • 2. OpenSSL для операцій з Base64
  • Кодування Base64 за допомогою OpenSSL
  • Декодування Base64 за допомогою OpenSSL
  • Приклади:
  • 3. Операції Base64 за допомогою Python
  • Кодування Base64 за допомогою Python
  • Декодування Base64 за допомогою Python
  • 4. Маніпуляції з Base64 в Perl
  • Кодування Base64 в Perl
  • Декодування Base64 в Perl
  • Висновок

Кодування та декодування Base64 у командному рядку Linux: Огляд

Серед різноманітних методів представлення двійкових даних у форматі ASCII-рядків, Base64 є одним з найпоширеніших, який використовується, зокрема, для кодування зображень та інших документів у вкладеннях електронної пошти, URL-адресах, а також в інших випадках, коли потрібно перетворити щось у чистий текст. Далі ми покажемо вам, як використовувати інструменти командного терміналу в Linux для кодування і декодування рядків Base64.

1. Використання Base64

Base64 є базовою командою для base64, яку можна використовувати як для кодування, так і для декодування.

1.1. Кодування за допомогою Base64

Щоб закодувати файл або фрагмент тексту, скористайтеся командою

base64 filename > outputfile

"filename" слід замінити на ім'я файлу, який ви хочете закодувати, а "outputfile" - на бажану назву для закодованого файлу.

Щоб закодувати фрагмент тексту:

echo -n "yourtext" | base64

Замініть "yourtext" на текст, який ви хочете закодувати.

1.2. Декодування Base64

У Base64 декодування виконується тією ж командою base64 з додаванням опції -d .

Щоб декодувати файл, введіть:

base64 -d encodedfile > outputfile

Endodedfile слід замінити на назву вашого файлу, а outputfile - на бажану назву вихідного файлу.

Щоб декодувати текст, введіть:

echo -n "encodedtext" | base64 -d

Замініть "encodedtext" текстом, який потрібно закодувати.

Наприклад:

Кодування:

echo -n "Hello, Base64!"| base64
Output: SGVsbG8sIEJhc2U2NCE=>> SGVsbG8sIEJhc2U2NCE
base64 mydocument.txt > encoded_document.txt

Розкодування:

echo -n "SGVsbG8sIEJhc2U2NCE=" | base64 -d
Output: Hello, Base64!
base64 -d encoded_document.txt > decoded_document.txt

2. OpenSSL для операцій з Base64

Інший варіант використання OpenSSL полягає в тому, що, крім усього іншого, він пропонує Base64 для кодування і декодування. Давайте подивимося.

Кодування Base64 за допомогою OpenSSL

Ви можете кодувати файл або текст за допомогою OpenSSL, використовуючи команду openssl enc з опцією base64.

Кодування файлу:

openssl enc -base64 -in filename -out outputfile

Замініть filename на ім'я файлу, який ви збираєтеся кодувати, а outputfile на ім'я, яке ви хочете отримати для закодованого файлу.

Для кодування тексту:

echo -n "yourtext" | openssl enc -base64

Замініть yourtext на текст, який ви хочете закодувати.

Декодування Base64 за допомогою OpenSSL

Декодування файлу або рядка в кодуванні Base64 виконується тією ж командою openssl enc , а також опціями -d і -base64 .

Щоб декодувати файл:

openssl enc -base64 -d -in encodedfile -out outputfile

encodedfile слід замінити на назву файлу, закодованого у Base64, а outputfile - на назву декодованого файлу.

Щоб декодувати текст:

echo -n "encodedtext" | openssl enc -base64 -d

encodedtext буде замінено на текст у кодуванні Base64.

Приклади:

Кодування:

echo -n "Hello, OpenSSL!" | openssl enc -base64
Output SGVsbG8sIE9wZW5TU0wTIQ==
openssl enc -base64 -in mydocument.txt -out encoded_document.txt

Розкодування:

echo -n "SGVsbG8sIE9wZW5TU0wTIQ==" | openssl enc -base64 -d
Output: Hello, OpenSSL!
openssl enc -base64 -d -in encoded_document.txt -out decoded_document.txt

3. Операції Base64 за допомогою Python

Ви також можете виконувати операції Base64 за допомогою Python, і ви можете зробити це відразу, оскільки модуль base64 включено до стандартної бібліотеки Python.

Кодування Base64 за допомогою Python

Кодування Base64 у Python виконується за допомогою функції base64.b64encode().

Кодування рядка:

import base64
original_text = "Hello, Base64!"
encoded_text = base64.b64encode(original_text.encode()).decode()
print(encoded_text)

У наведеному вище прикладі текст "Hello, Base64! " перетворюється на його представлення у кодуванні Base64.

Кодування файлу:

import base64


with open("filename", "rb") as file:
binary_data = file.read()
encoded_data = base64.b64encode(binary_data).decode()


with open("encoded_file.txt", "w") as encoded_file:
    encoded_file.write(encoded_data)

"filename" слід замінити на ім'я файлу, який ви хочете закодувати, а "encoded_file.txt" - на бажане ім'я закодованого файлу.

Декодування Base64 за допомогою Python

Декодування Base64 мовою Python можна виконати за допомогою функції base64.b64decode( ).

Щоб декодувати рядок:

import base64
encoded_text = "SGVsbG8sIEJhc2U2NCE="
decoded_text = base64.b64decode(encoded_text).decode()
print(decoded_text)

У цьому прикладі декодується закодований у Base64 рядок "SGVsbG8sIEJhc2U2NCE=".

Декодування файлу:

import base64
with open("encoded_file.txt", "r") as encoded_file:
    encoded_data = encoded_file.read()
    decoded_data = base64.b64decode(encoded_data)


with open("decoded_file.bin", "wb") as decoded_file:
    decoded_file.write(decoded_data)

"encoded_file.txt" слід замінити на ім'я файлу, закодованого у Base64, а "decoded_file.bin" - на бажане ім'я для декодованого файлу.

4. Маніпуляції з Base64 в Perl

Perl також пропонує можливості використання операцій кодування та декодування Base64 за допомогою спеціального виділеного модуля MIME::Base64 з функціями encode_base64 та decode_base64 для кодування та декодування даних у форматі Base64.

Кодування Base64 в Perl

Щоб закодувати рядок:

use MIME::Base64;


my $original_text = "Hello, Base64!";
my $encoded_text = encode_base64($original_text);


print $encoded_text;

У вищенаведеному прикладі рядок "Hello, Base64!" кодується у представлення Base64.

Щоб закодувати файл:

use MIME::Base64;
my $filename = "filename";
open my $fh, '<', $filename or die "Cannot open file: $!";
my $binary_data = do { local $/; <$fh> };
close $fh;


my $encoded_data = encode_base64($binary_data);


open my $encoded_fh, '>', "encoded_file.txt" or die "Cannot open file: $!";
print $encoded_fh $encoded_data;
close $encoded_fh;

"filename " слід замінити на назву файлу, який ви хочете закодувати, а "encoded_file.txt " - на потрібну назву файлу відповідно.

Декодування Base64 в Perl

Декодування даних у кодуванні Base64 у Perl можна виконати за допомогою функції decode_base64 з модуля MIME::Base64.

Декодування рядка:

use MIME::Base64;
my $encoded_text = "SGVsbG8sIEJhc2U2NCE=";
my $decoded_text = decode_base64($encoded_text);


print $decoded_text;

У вищенаведеному прикладі декодується закодований у Base64 рядок "SGVsbG8sIEJhc2U2NCE=".

Декодування файлу:

use MIME::Base64;
my $encoded_filename = "encoded_file.txt";
open my $encoded_fh, '<', $encoded_filename or die "Cannot open file: $!";
my $encoded_data = do { local $/; <$encoded_fh> };
close $encoded_fh;


my $decoded_data = decode_base64($encoded_data);


open my $decoded_fh, '>', "decoded_file.bin" or die "Cannot open file: $!";
print $decoded_fh $decoded_data;
close $decoded_fh;

"encoded_file.txt " має бути замінено на ім'я файлу, закодованого у Base64, "decoded_file.bin" на бажане ім'я для декодованого файлу.

Висновок

Base64 є важливим інструментом для перетворення інформації в текстову форму, а також для її подальшого декодування. У цьому посібнику ми розглянули використання інструменту Base64 для різних інтерфейсів. Ми сподіваємося, що ця інструкція була достатньо зрозумілою і бажаємо вам успіхів.

views 2m, 47s
views 2
Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.