【发布时间】:2017-12-25 08:30:55
【问题描述】:
我只是花了太多时间来敲击 SMTP 服务器,因为它不喜欢我使用的 base64 编码凭据。事实证明,当我选择不使用 perl 时,就像互联网上的许多说明所说的那样,我犯了一个大错误。为什么是这样?我认为 base64 是一个单一的标准。
考虑:
$ perl -MMIME::Base64 -e 'print encode_base64("ASDF1234asdf")'
QVNERjEyMzRhc2Rm
$ base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ python3.6 -m base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ python2.7 -m base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ perl -MMIME::Base64 -e "print encode_base64('my_user_name@my_domain.com')"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20=
$ base64 <<<"my_user_name@my_domain.com"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20K
所以,perl 的输出是独一无二的,我的服务器需要它。
为什么我得到不同的结果?
除了 perl 之外,您如何获得 MIME/SMTP 友好输出?
【问题讨论】:
-
等价于
perl -MMIME::Base64 -0777pe'print encode_base64($_)'
标签: python linux shell perl mime