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
Il risultato è, quantomeno, inquietante: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";
KO... ovvero le due stringhe NON sono uguali, nonostante visivamente lo sembrino. le sto provando tutte, ma non ne vengo a capocodice:p1=123&p2=456789&p3=112233445566778899 p1=123&p2=456789&p3=112233445566778899 KO

Rispondi quotando