概要
このチュートリアルでは、Linuxでコマンドラインからbase64エンコードとデコードを行う方法を学習します。 また、base64 エンコードとは何か、なぜ不正アクセスからデータを保護するために使用してはならないのかについても学びます。
データを base64 エンコードおよびデコードすることには、多くのユースケースがあります。 このチュートリアルを読んだ後は、ファイルまたは文字列を簡単にエンコードし、それをデコードして戻す方法を理解できるようになります。
How to base64 encode on Ubuntu, Debian, OSX, and Red Hat
Ubuntu, Debian, CentOS, or Red Hat などの人気の Linux ディストリビューションを実行している場合、通常 base64 コマンドライン ツールはプレインストールされています。
OSX にも独自のバージョンの base64 がバンドルされています。
Why Base64 Encode Data
ネットワーク経由で ASCII ファイルを転送すると、正しくデコードしないと破損する可能性があります。 7354>
Base64 は、ASCII データを任意のバイトに変換し、バイトとして転送し、ASCII に戻って正しくデコードできる方法として導入されました。
要するに、base64 エンコーディングは、ネットワーク経由で転送されるデータの整合性を保証します。 むしろ、文字列の形で大きなデータを転送または保存するのに便利な方法です。
サーファーから実際のデータを難読化できるかもしれませんが、base64 エンコード データにアクセスできる人は誰でも簡単にそれをデコードすることができます。
文字列の base64 エンコード
文字列を base64 エンコードするには、echo コマンドを base64 コマンドライン ツールにパイプします。
-n
フラグを指定しないと、改行やスペースなどの隠し文字を捕捉してしまい、base64 エンコーディングが壊れてしまう可能性があります。
echo -n 'my-string' | base64
以下のように出力されます。
bXktc3RyaW5n
Base64 Encoding a File
ファイルをbase64エンコードするには
base64 /path/to/file
これは非常に長いbase64エンコード文字列が出力されます。
bas64 /path/to/file > output.txt
文字列のデコード
base64でデコードするには、--decode
フラグを使用する必要があります。 エンコードされた文字列では、エンコードと同様に echo コマンドを base64 にパイプすることができる。
上に示したエンコードの例を使って、元の形式にデコードしてみましょう。
echo -n 'bXktc3RyaW5n' | base64 --decode
エンコードが破損していなければ、出力は元の文字列になります。
base64 --decode /path/to/file
ファイルのエンコードと同様に、出力は元のファイルの非常に長い文字列となる。 標準出力を直接ファイルに出力したい場合もあるでしょう。
base64 --decode /path/to/file > output.txt
Conclusion
このチュートリアルでは、ファイルや文字列を base64 エンコードする方法について学びました。 これは、一般的にファイルを転送するために行われるもので、そのような方法で
残ります。