ちょっとした事情で、急にWindows上でBase64エンコードをする必要に迫られました。
最初はどこかのウェブサイトにあったBase64エンコード/デコードツールを使っていたのですが、手直しをしながら何度もBase64エンコードを繰り返すとなると面倒です。
そこで、手元で簡単にBase64エンコード・デコードできないか、調べてみました。
方法はいくつかあるようですが、コマンドプロンプト(通称 DOS窓)で certutil を使うのが、お手軽です。
コマンドは以下の通りです。
エンコード:certutil -encode input.png output.b64
デコード:certutil -decode input.b64 output.png
ただしエンコード時には、行頭に「-----BEGIN CERTIFICATE-----」が、行末に「-----END CERTIFICATE-----」が付くので、不要であれば削除してください。
なお、 -encodehex を指定するとHEXエンコード(16進数エンコード)に、 -decodehex を指定するとHEXデコード(16進数デコード)になります。
…ということは、certutil -encodehex input.png output.hex 11
とすると、バイナリファイルのダンプリストが見られるってことですね。
certutil -hashfile input.bin SHA512
とすると、指定したアルゴリズムでハッシュを算出することもできます。こりゃ、便利だ!
ちなみにcertutilはウェブサーバの証明書を管理するためのコマンドで、今回紹介した機能は証明書を取り扱う際に必要な機能なのだそうです。