ウェブサイト検索

LinuxでのBashのbase64デコードとエンコード


Linuxでは、データをエンコードおよびデコードするために一般的にbase64が使用されます。このエンコーディング方法は、データを信頼性の高い方法で伝送および保存することを提供します。エンコーディングプロセスでは、バイナリデータをASCII文字に変換し、バイナリではなく可読なASCII文字の伝送を必要とするさまざまなサービス(OpenSSLなど)で使用できるようにします。その後、データはバイナリデータにデコードできます。このチュートリアルでは、Linuxシステムでデータをデコードおよびエンコードするためにbase64コマンドを使用する方法を示します。

このチュートリアルでは、あなたは学びます:

  • ターミナルでデータをBase64でエンコードおよびデコードする方法
  • ファイルからBase64データをエンコードおよびデコードする方法

base64 エンコードとデコードの例コマンド

すべての主要なLinuxディストリビューションには、base64ユーティリティがデフォルトでインストールされているはずです。コマンドラインからデータをエンコードおよびデコードするために、base64 Linuxコマンドを使用する方法のいくつかの例を見てみましょう。

  1. base64 コマンドを追加のオプションなしで使用すると、端末の入力やファイルの内容を base64 形式にエンコードします。ここでは、echo コマンドからの標準入力を介してテキスト文字列を変換する簡単な例を見てみましょう。

    
    echo "Welcome to linuxconfig.org" | base64
    V2VsY29tZSB0byBsaW51eGNvbmZpZy5vcmcK
    

    出力(2行目)は私たちのbase64エンコードデータです。

  2. さて、上で受け取ったエンコードされたデータを使用して、-d または --decode オプションを使って元の形式にデコードすることができます。

    
    echo V2VsY29tZSB0byBsaW51eGNvbmZpZy5vcmcK | base64 -d
    Welcome to linuxconfig.org
    
  3. 入力ファイルをbase64形式にエンコードするには、次のコマンド構文を使用できます:

    
    base64 input-file.txt 
    VGhpcyBpcyBteSBpbnB1dCBmaWxlIQo=
    

    または、エンコードされたデータを独自のファイルに出力するには:

    
    base64 input-file.txt > output-file.txt
    
  4. 次に、-dまたは--decodeオプションを使用して、base64から元の形式にファイルをデコードしてみましょう:

    
    base64 -d output-file.txt
    This is my input file!
    

    デコードされた内容は、私たちのターミナルに出力として表示されます。

注意
初めは、base64が暗号化のようにテキスト文字列を隠しているように見えるかもしれませんが、base64は暗号化ではなく、機密情報を保護する手段として使用すべきではありません。このデータは簡単にデコード可能であり、base64は元のデータを解読不能にすることを目的としていません。

締めくくりの考え

このチュートリアルでは、Linuxシステムでデータをエンコードおよびデコードするためにbase64コマンドを使用する方法を見ました。一部のプログラムやシステムサービスは入力にbase64エンコーディングを必要とするため、システム管理者がバイナリデータを迅速にbase64にエンコードして入力として使用できるのは便利です。同じコマンドを使用して、エンコードされたデータを人間が読み取れる形式に戻すこともできます。

関連記事: