Basetop 10 codifica e decodifique da linha de comando

Basetop 10 codifica e decodifique da linha de comando
A codificação é o processo usado para converter dados em um formato necessário para transmissão ou armazenamento eficaz. Por outro lado, a decodificação é oposta ao método de codificação que converte os dados codificados de volta em seu formato original. Base64 é o processo de codificação em que os dados binários são convertidos em ASCII. A codificação base64 é necessária principalmente para evitar os problemas de transmissão que ocorrem quando dados binários são transmitidos para sistemas baseados em texto que não podem lidar com os dados binários corretamente. Como resultado, as informações são perdidas ou corrompidas durante a transmissão.

Alguns dos usos da codificação são:

  • Compressão de dados
  • Ocultação de dados
  • Transmissão de dados em outro formato

Para codificar dados, Base64 usa apenas alfabeto, número e = símbolo. Por exemplo, c2ftcgxlcg == é um dados codificados válidos enquanto b?HV3.Zh2j == não é um dados codificados válidos.

Neste tutorial de dica do Linux, explicaremos como usar o comando base64 para codificar e decodificar os dados em uma string ou um arquivo. Nós executamos os comandos no Ubuntu 20.04 sistema fossa focal. No entanto, você também pode executar os mesmos comandos em outras distribuições Linux.

Base64 Sintaxe

Aqui está a sintaxe para codificação usando base64:

base64 [opção] [arquivo]

Opções

Algumas das opções de linha de comando que podem ser usadas com o comando base64 são:

-d ou --Decodo

Use esta opção para decodificar um arquivo ou uma string.

--ajuda

Use esta opção para exibir ajuda em relação ao uso de base64.

-Eu,-Iignore-Garbage

Use esta opção enquanto decodifica para ignorar caracteres não alfabetos

--versão

Use esta opção para exibir informações da versão

Codificação de string

Você pode codificar facilmente uma string usando o comando base64. Por exemplo, para codificar um texto de amostra “Bem -vindo ao Linux” na Base64, o comando seria:

eco “Bem -vindo ao Linux” | base64
Saída do terminal:
Linuxhint@hp34: ~ $ eco "Bem -vindo ao Linux" | base64
V2vsy29tzsb0bybmaw51eao =

Este comando codificará o texto na sequência usando base64 e imprimirá o texto codificado para a saída padrão, como mostrado na saída do terminal acima.

Você também pode salvar a saída codificada em um arquivo em vez de imprimir na saída padrão usando o operador de redirecionamento (>). O comando a seguir codificará o texto e salvará a saída em um arquivo chamado “EncodedFile.TXT:

eco “Bem -vindo ao Linux” | base64> codedfile.TXT

Para visualizar o arquivo codificado, você pode usar o comando CAT:

codificado de gato.TXT
Saída do terminal:
linuxhint@hp34: ~ $ Cat EncodedFile.TXT
4occv2VSY29TZSB0BYBMAW51EOKANQO =

Decodificação de string

Você também pode decodificar o texto codificado base64 usando a opção -decode ou -d. Por exemplo, para decodificar o texto codificado base64 “V2VSY29TZSB0BYBMAW51EAO =”, o comando seria:

ECHO 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | base64 -Decodo

Este comando decodificará o texto codificado base64 e imprimirá o texto original na saída padrão, como mostrado na saída do terminal seguinte.

Saída do terminal:
Linuxhint@hp34: ~ $ eCHO 4occv2VSY29TZSB0BYBMAW51EOKANQO = | base64 -Decodo
“Bem -vindo ao Linux”

Codificação de arquivo de texto

O comando base64 também pode ser usado para codificar um arquivo de texto. Para este exemplo, vamos criar um arquivo de texto com algum conteúdo primeiro usando este comando no terminal ou use qualquer arquivo de texto.

eco "" "eu amo Linux
Eu amo Linux
Eu amo Linux
Linuxhint é minha página inicial "" "> testFile.TXT

Para codificar este ou qualquer arquivo de texto chamado “TestFile.txt ”, o comando seria:

Base64 TestFile.TXT

Este comando codificará o arquivo de texto especificado e imprimirá seu formulário codificado na saída padrão, como mostrado na saída do terminal a seguir:

linuxhint@hp34: ~ $ base64 testfile.TXT
Ssbmb3zliexpbnv4ckkgtg92zsbmaw51eapjiexvdmugtgludxgktgludxhiaw50iglzig15ighv
bwvwywdlcg ==

Você também pode salvar a saída codificada em um arquivo em vez de imprimir na saída padrão usando o operador de redirecionamento (>). O comando a seguir converterá o texto no arquivo usando base64 e salvará a saída em outro arquivo chamado “EncodedFile.TXT". O comando não imprima nada na tela.

Base64 TestFile.txt> codedfile.TXT

Para visualizar o arquivo codificado, você pode usar o comando CAT:

codificado de gato.TXT
Saída do terminal:
linuxhint@hp34: ~ $ base64 testfile.txt> codedfile.TXT
linuxhint@hp34: ~ $ Cat EncodedFile.TXT
Ssbmb3zliexpbnv4ckkgtg92zsbmaw51eapjiexvdmugtgludxgktgludxhiaw50iglzig15ighv
bwvwywdlcg ==

Decodificação do arquivo de texto

Para decodificar um arquivo de texto codificado, use a opção -decode ou -d. Por exemplo, para decodificar o arquivo de texto codificado Base64 “EncodedFile.txt ”, o comando seria:

base64 -D codedfile.TXT

Este comando decodificará o arquivo de texto codificado base64 e imprimirá o texto original na saída padrão, como mostrado na saída do terminal seguinte:

Saída do terminal:
linuxhint@hp34: ~ $ base64 -d codedfile.TXT
Eu amo Linux
Eu amo Linux
Eu amo Linux
Linuxhint é minha página inicial
linuxhint@hp34: ~ $

Codificação de entrada do usuário

Usando a codificação BASE64, podemos codificar quaisquer dados fornecidos pelo usuário. Para esse fim, precisaremos criar um script que levará a entrada do usuário, a codificará usando a codificação Base64 e imprimirá os dados codificados na saída padrão. Crie um script “Teste.SH ”com o seguinte código:

#!/BIN/BASH
# Imprimir mensagem para pedir entrada
eco "forneça alguns dados para codificar"
# Salve a entrada em uma variável chamada "dados"
Leia os dados
# Codificar usando base64 codificação e salvar a saída em uma variável "cod_data"
cod_data = 'echo -n $ dados | base64 '
# Saída codificada por impressão
eco "o texto codificado é: $ cod_data"

Execute o script da seguinte forma:

Teste CHMOD 755.sh; ./teste.sh

Depois de executar o script, você será solicitado a inserir os dados que deseja codificar. Digite alguns dados e pressione Enter, e você receberá a saída codificada na tela, como mostrado abaixo:

Saída do terminal:
linuxhint@hp34: ~ test teste 755.sh; ./teste.sh
Forneça alguns dados para codificar
Eu amo Linux
O texto codificado é: SSBSB3ZLIGXPBNV4

Este texto codificado pode ser enviado pela Internet ou para outro programa e depois decodificado posteriormente usando um comando simples. Para este comando, assumimos o programa de recebimento, decodifique.SH, colocou os dados codificados em uma variável no Bash chamado Recebido_encoding.

#!/BIN/BASH
RECEBT_ENCODING = SSBSB3ZLIGXPBNV4
Recebeu_string = 'echo $ recebeu_encoding | base64 -Decodo '
eco $ recebido_string

Aqui você pode ver os resultados do programa de recebimento na saída do terminal:

linuxhint@hp34: ~ $ chmod 755 decodificar.sh; ./decodificar.sh
Eu amo Linux

Conclusão

É assim que você pode usar o base64 para codificar e decodificar uma string ou um arquivo da linha de comando. Os resultados podem ser impressos na saída padrão, salvados em uma variável ou um arquivo ou passados ​​pela rede para outro programa. No entanto, lembre -se de que a codificação não é semelhante à criptografia, e pode -se revelar facilmente os dados codificados; portanto, não é recomendável usar a codificação para a transmissão de dados sensíveis, a menos que também sejam criptografados.