Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con base64

  1. #1

    Problema con base64

    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?

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    codice:
    echo -n test | base64



    La differenza è che echo ti appende un newline e quindi cambia l'input.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    con il -n funziona perfettamente!
    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.