Ich habe gerade viel zu viel Zeit damit verbracht, meinen Kopf gegen einen SMTP-Server zu schlagen, weil er die base64-verschlüsselten Anmeldedaten, die ich benutzte, nicht mochte. Stellt sich heraus, dass, wenn ich wählte, um perl
nicht zu verwenden, wie so viele Anweisungen im Internet sagen zu verwenden, machte ich einen großen Fehler. Warum ist das? Ich dachte, Base64 sei ein einziger Standard.Was ist der Unterschied zwischen base64 und MIME base 64?
Bedenken Sie:
$ 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('[email protected]_domain.com')"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20=
$ base64 <<<"[email protected]_domain.com"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20K
So ist perl
einzigartig in seiner Leistung und mein Server erfordert es so.
Warum erhalte ich unterschiedliche Ergebnisse?
Wie erhalten Sie die MIME/SMTP freundliche Ausgabe mit etwas anderem als Perl?
Äquivalent wäre 'perl -MMIME :: Base64 -0777pe'print encode_base64 ($ _) '' – ikegami