以前は、base64を使用するときに「-i」は必要ありませんでした。

以前は、base64を使用するときに「-i」は必要ありませんでした。

私はmacOS 13.6.1(22G313)がインストールされているコンピュータを使用しています。

base64私は次の形式を使用して端末で.p12ファイルを生成できました(おそらく1〜3年前)。

base64 mastercard-track.p12 > mastercard-track_base64.txt

base64このようなプログラムを使用しようとすると、次のエラーが発生します。

base64: invalid argument mastercard-track.p12
Usage:  base64 [-hDd] [-b num] [-i in_file] [-o out_file]
  -h, --help     display this message
  -Dd, --decode   decodes input
  -b, --break    break encoded string into num character lines
  -i, --input    input file (default: "-" for stdin)
  -o, --output   output file (default: "-" for stdout)

base64以前に使っていたプログラムは今では違うのですか?

答え1

base64Homebrewでインストールしようとしました。ジョン・ウォーカーのbase64実装)。これ以上ソフトウェアがインストールされていないので、Appleの/usr/bin/base64。 OpenBSD、FreeBSD、およびNetBSDのポート/パッケージに見られるのと同じコマンドラインセマンティクスを提供しますが、Linuxは通常coreutils実装を使用します。base64base64

既存の出力リダイレクトとともに入力リダイレクトを使用して、シェルコードの移植性を向上させることができます。

base64 <mastercard-track.p12 >mastercard-track_base64.txt

これの利点は、Applebase64base64Homebrewにインストールされているユーティリティで動作することです。またcoreutilsバリアントとも互換性がありますbase64

答え2

base64プログラムが変更されたか、他のプログラムを使用しているようです(ほとんどHomebrewを使用しているようですbase64)。

次のunixコマンドを使用すると、私にとって効果的でした。

base64 -b 64 -i mastercard-track.p12 -o mastercard-track_base64.txt

関連情報