16進数をBase64に変換するbashスクリプトを作成しようとしています。

16進数をBase64に変換するbashスクリプトを作成しようとしています。

私はbashでmatasano cryptopalsチャレンジを完了しようとしています。

最初のステップはここ

私が見つけたこのスタック交換スレッド部分的な解決策として

printf 49276d2 | xxd -r -p | base64

これにより、SSdt所望の結果が得られる。

簡単にできるようにbashスクリプトを探しています。

hexto64 49276d2 

同じ結果が得られます。 #!/bin/bash 次にどこから始めるべきかわかりません。引数を取得して別のコマンドを介してパイプし、結果を出力する同様の例を見つけることができませんでした。

答え1

というスクリプトファイルにhexto64次のように記述します。

#!/bin/bash

printf "%s" "$1" | xxd -r -p | base64

その後、次のように使用できます。

hexto64 49276d2

ご存知のように、$1これはプログラム名の後に提供する最初の引数を意味します。49276d2私たちの場合です。

関連情報