ciao,
ho un server debian che deve cifrare in base64 un'informazione e richiamare una pagina php che la decodifica ed esegue alcune operazioni.
Sembra che debian e php non generano la stessa cosa:

codice:
DEBIAN: echo "test" | base64 --> dGVzdAo=
PHP: print base64_encode("test") --> dGVzdA==
apparentemente sono uguali se non per la differenza di o=

Ma sorprendentemente succede che eseguendo questo script unix

Codice PHP:
a=$(echo dGVzdAo= | base64 -d)
b=$(echo dGVzdA== | base64 -d)
echo 
$a
echo $b
if [ $a $b ];
then
    
echo "uguali"
else
    echo 
"diversi"
fi 
l'output è "test" "test" "uguali".

mentre con php

Codice PHP:
<?php
$a 
base64_decode("dGVzdAo=");
$b base64_decode("dGVzdA==");
print 
"a $a";
print 
"
"
;
print 
"b $b";
print 
"
"
;
if(
$a == $b){
print 
"uguali";
}
else{
print 
"diversi";
}
?>
l'output è "test" "test" "diversi"

Come è possibile?

ma soprattutto come faccio a fargli passare in modo corretto l'informazione in base64 da debian a php in modo che php lo decodifichi "correttamente" (anche se gia lo fa) cosi che il confronto venga corretto?