2010-08-17 15 views
6

Come posso sapere se una stringa è un dato codificato con la funzione base64_encode() oppure no?La codifica 64 della stringa è codificata?

È possibile?

+1

Sarebbe molto meglio se non si avrebbe bisogno di un tale rilevazione a tutti. Molti programmatori esperti possono vivere senza di esso e sono sicuro che potresti. –

+1

Vedere anche http://stackoverflow.com/questions/475074 – Gumbo

+0

@ Gumbo: Non ho aggiunto il tag [php5]: la mia modifica ha richiesto più tempo per l'invio rispetto a quanto il tuo ha fatto in qualche modo. L'ho rimosso ora. – BoltClock

risposta

17

Tentativo di decodificarlo rigorosamente rispetto all'alfabeto Base64. Il secondo parametro consente di applicare questo controllo rigoroso; lasciandolo fuori, la funzione di decodifica semplicemente estrae caratteri illegali prima di decodifica:

if (base64_decode($str, true) === false) 
{ 
    echo 'Not a Base64-encoded string'; 
} 
1

Prova questa:

if(base64_encode(base64_decode($img, true)) === $img) 
    echo 'is a Base64-encoded string' ; 
Problemi correlati