2016-08-08 63 views
0

ich einige Probleme Perl MIME :: Base64 :: decode_base64MIME :: Base64 :: decode_base64 falsche Zeichen

Hier ist mein Code:

#!/usr/bin/perl 
use MIME::Base64; 
$string_to_decrypt="lVvfrx23jX7vX3HghyJGxo4oivqBIg"; 
$content=MIME::Base64::decode_base64($string_to_decrypt); 
open(WRITE,">/home/laurent/decrypted.txt"); 
print WRITE $content; 
close(WRITE); 
exit; 

Online-Decoder verwenden (wie https://www.base64decode.org/) Ergebnis sollte sein:

Aber in meiner Datei, die ich erhalten:

<95>[߯^]·<8d>~ï_qà<87>"FÆ<8e>(<8a>ú<81>" 

Ich weiß nicht, wie loswerden:

<95>, ^], <8d>,<87> .... 

Dank Laurent

+1

Tipp: base64 ist ein Verschlüsselungsalgorithmus. Es ist kein Verschlüsselungsalgorithmus, weil es kein Geheimnis (Schlüssel) gibt. Daher ist es unangemessen zu sagen, dass "decode_base64" entschlüsselt. – ikegami

Antwort

0

dies eindeutig nicht Text ist, so ist es keine Überraschung, es nicht richtig machen, wenn sie als Text gedruckt. base64decode.org erzeugt tatsächlich die gleiche korrekte Ergebnis wie decode_base64, die folgende Bytes:

95.5B.DF.AF.1D.B7.8D.7E.EF.5F.71.E0.87.22.46.C6.8E.28.8A.FA.81.22 

Sie eine der folgenden Bedingungen verwenden können, um die Zeichen zu entfernen, die Sie identifiziert, aber das ist ist definitiv die falsche Sache zu tun.

$content =~ tr/\x1D\x87\x8D\x95//d; 
    -or- 
$content =~ s/[\x1D\x87\x8D\x95]//g;