$ echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64
YXBmanhraWMtb215dW9id2QzMzk4MDVhazo2MGEwNmNkMmRkZmFkNjEwYjk0OTBkMzU5ZDYwNTQw
Nw==
出力にはbeforeがありNw==
ます。Linuxでbase64を生成する正しい方法は何ですか?
5
出力に改行が含まれており、ウィンドウの折り返しだけではありませんか?このコマンドは、Macでうまく機能しました。どのOSを使用していますか?
—
イアン
Base64を定義したRFC 2045では、76文字(最大)の後に改行が必要です。あなたの例が 正しい方法ではないと思う理由は何ですか?
—
–MSalters
@Bob:RFCのAPIの安定性に対する敬意はやや劣ります。base64ツールは、スクリプトを壊さずに出力形式を変更することはできません。
—
–MSalters
@MSalters古いバージョンが存在しないことは確信できませんが、GNU base64は2004年に記述され、AFAICTは常にRFC 3548に従うと主張しました。RFC3548には同じ「MUST NOT add line feeds」節が含まれます。したがって、元の実装でさえ「間違っていました」。少なくとも、その実装はドキュメントと一致しません。とにかく、OPの例が正しい理由を尋ね、RFCを参照しました。私の応答は、実際にbase64を単独で定義する正しいRFCです。あなたの答えが「歴史的な理由」である場合、そうですが、ここでOPは間違っていません。
—
ボブ