Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    funzione mcrypt_encrypt: la stringa restituita non è uguale a quella inviata

    Ho un errore veramente strano con la funzione di criptaggio e decriptaggio...

    In pratica ho la necessita di criptare dei dati per poi decriptarli e utilizzarli.

    Ma, in arrivo, i dati decriptati non riesco a utilizzarli.

    Ho semplificato al massimo il programma per fare dei test, e il codice è questo

    codice:
    $key = "meakad82mdb2mndk9cKWqADr3ko7jw4z";
    $vi = "93id832jdik4i20g";
    
    $url = "p1=123&p2=456789&p3=112233445566778899";
    echo "$url 
    ";
    
    $url_encr = mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$key, $url, MCRYPT_MODE_CBC, $vi);
    $url_base64 = base64_encode($url_encr);
    $url_base64_en = rawurlencode($url_base64);
    
    //echo "Url criptata: $url_base64_en 
    ";
    
    $l_urlencoded_base64_encrypted = $url_base64_en;
    $l_urldecoded_base64_encrypted = rawurldecode($l_urlencoded_base64_encrypted);
    $l_encrypted = base64_decode($l_urldecoded_base64_encrypted);
    $l_decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$key, $l_encrypted, MCRYPT_MODE_CBC, $vi);
    
    echo "$l_decrypted 
    ";
    
    if($url == $l_decrypted)
    echo "OK";
    else
    echo "KO";
    Il risultato è, quantomeno, inquietante:
    codice:
    p1=123&p2=456789&p3=112233445566778899
    p1=123&p2=456789&p3=112233445566778899
    KO
    KO... ovvero le due stringhe NON sono uguali, nonostante visivamente lo sembrino. le sto provando tutte, ma non ne vengo a capo
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    Sostituisci:

    Codice PHP:
    ...
    if(
    $url == $l_decrypted)
    ... 
    con:

    Codice PHP:
    ...
    if(
    $url == trim($l_decrypted))
    ... 
    Se fai un var_dump() delle due variabili vedrai che la seconda "$l_decrypted" è lunga 48 contri i 38 della prima.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Ora funziona.

    Grazie.
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

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.