如何使用shell命令Base64编码MD5二进制字符串?

时间:2015-10-05 03:30:12

标签: unix openssl md5

我需要在Unix(Solaris)中运行这个Linux命令:

echo -n foo | openssl dgst -md5 -binary | openssl enc -base64

但它只是给了我一个“命令未找到”的错误。我完全是Unix / Linux的新手所以我不知道这是否可行,或者是否有解决方法可以得到相同的结果。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

我刚刚在Ubuntu Linux下执行了你的命令,它确实有效。结果如下:

$ echo -n foo | openssl dgst -md5 -binary | openssl enc -base64
rL0Y20zC+Fzt72VPzMSk2A==
$ 

也许Solaris发行版中没有安装某些东西?比如openssl。这个命令似乎很好。

答案 1 :(得分:0)

openssl不在PATH中。 查找openssl命令的位置(find / -executable -type f -name "openssl" 2> /dev/null可能有帮助)。 它可能位于/usr/sfw/bin/usr/bin//usr/local/bin/opt中的一个目录下。

找到位置后,将其添加到路径

export PATH=$PATH:/usr/sfw/bin

或使用其完整路径调用openssl命令。