Wenn Sie MIME :: Base64 decode_base64
verwenden, wird die Decodierung immer als erfolgreich erachtet. Nicht erlaubte Zeichen werden ignoriert.
Sie könnten genau überprüfen, ob Sie eine gültige base64 verwenden, haben die folgenden:
my $c1 = '[A-Za-z0-9+/]';
my $c2 = '[AQgw]';
my $c3 = '[AEIMQUYcgkosw048]';
die "Invalid data\n"
if $s !~ m{^(?:$c1{4})*+(?>$c1(?>$c2==|$c1$c3=)|)\z};
Whitespace wird oft in der Mitte eingesetzt, so dass Sie Leerzeichen ermöglichen möchten. (In der Tat, encode_base64
enthält Whitespace in seiner Ausgabe standardmäßig!)
Die =
sind oft weggelassen, so dass Sie möglicherweise möchten, dass =
fehlt.
Wenn Sie Bedenken wegen Datenbeschädigung haben, schließen Sie einen Hash der Daten mit den Daten ein.