Help us understand the problem. What is going on with this article?

コマンドプロンプトだけでBase64エンコードをする

WindowsでBase64エンコードしたい

文字列をBase64でエンコードしたい時がたまにあります。

Windowsの場合、 certutil コマンドを利用すれば、新たなソフトをインストールせずにコマンドプロンプトだけでエンコードすることができます。

certutil に関する情報は多く見つかるのですが、意外とコマンドのみで完結する手順が記載されている記事が見当たらなかったため、忘れな内に書いてみます。

一行にまとめたコマンド

例えば、 hoge という文字列をBase64でエンコードしたい場合、以下のコマンドを実行すればよいです。

echo hoge | more > %temp%\src.txt && certutil -f -encode %temp%\src.txt %temp%\dest.txt && type %temp%\dest.txt

これで、以下のような文字列が出力されます。

-----BEGIN CERTIFICATE-----
aG9nZSANCg0K
-----END CERTIFICATE-----

aG9nZSANCg0K の部分が、Base64でエンコードされた文字列です。

引き続き、コマンドを解説していきます。

コマンド解説

上記のコマンドは一行にまとまっていて便利ですが、少し読みづらいので、順番に説明します。

hogesrc.txt に出力する

最初の処理はこちらです。

echo hoge | more > %temp%\src.txt

hoge という文字列を src.txt というファイルに書き込んでいます。

%temp% は一時ディレクトリです。Windows 10 の場合、 C:\Users\ユーザー名\AppData\Local\Temp になります。
今回の src.txt のように、使い捨てのファイルを書き出したりするときに、よく使います。

src.txt をエンコードして dest.txt を生成する

次に、 src.txt をBase64でエンコードして dest.txt を生成します。

certutil -f -encode %temp%\src.txt %temp%\dest.txt

certutil はテキストファイルをBase64でエンコードするコマンドです。

以下のサイトを参考にしました。
WindowsでBase64エンコード/デコードする方法

この段階で dest.txt には以下の文字列が書き込まれています。

-----BEGIN CERTIFICATE-----
aG9nZSANCg0K
-----END CERTIFICATE-----

dest.txt の内容を表示する

最後に、 dest.txt の内容を標準出力します。

type %temp%\dest.txt

これでコマンドプロンプトの画面に、エンコードした文字列が表示されます!

さいごに

以下のページを参考にさせていただきました。ありがとうございました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした