$ echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64
YXBmanhraWMtb215dW9id2QzMzk4MDVhazo2MGEwNmNkMmRkZmFkNjEwYjk0OTBkMzU5ZDYwNTQw
Nw==
出力はNw==
の前に戻ります。 Linuxでbase64を生成する正しい方法は何ですか?
試してください:
echo -n "apfjxkic-omyuobwd339805ak:60a06cd2ddfad610b9490d359d605407" | base64 -w 0
man base64
から:
-w
、--wrap=COLS
COLS
文字の後にエンコードされた行を折り返します(デフォルトは76
)。行の折り返しを無効にするには0
を使用してください。
これは-w
へのbase64
オプションをサポートするシステムに関するKamilの答えより劣っています、しかしそれが利用できない場合(例えばAlpine Linux、Arch Linux initramfs
フックなど)、あなたは手動でbase64の出力を処理することができます:
base64 some_file.txt | tr -d \\n
これがブルートフォースアプローチです。プログラムを協調させるのではなく、私はtr
を使ってstdoutのすべての改行を無差別に削除します。