我正在尝试编写一个 bash 脚本将十六进制转换为 Base64

我正在尝试编写一个 bash 脚本将十六进制转换为 Base64

我正在尝试在 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在我们的例子中。

相关内容