Bonjour, (enfin re)
J'utilise une fonction de cryptage
Encrypt( $phrase, $clef ) et Decrypt( $phrase, $clef ).
Tout fonctionne de ce coté là.
Le problème, c'est que ma phrase cryptée comporte des car. asccii sous la forme %xx. Exemple:
%3D correspond à "=" et %2A correspond à "*".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $phrasecryptee = Encrypte( $phrase, $clef ); echo $phrasecryptee; // renvoie : abc%3Defg%2A
Quant je souhaite transmettre $phrasecryptee en argument d'une URL style
Lors de la récupération, php interprète les %xx et les transforme en les caractères correspondant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://www.monsite.com/mapage.php?pc=abc%3Defg%2A
--> Quand j'essaye de décrypte, je l'ai dans l'os.
Je vois 2 solutions:
- encadrer ma chaine cryptée avec des guillemets, de code %22, pour transmettre ma clef comme:
--> mais qui me dit que ma fonction crypt ne me renvoie pas des %22 dedans ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://www.monsite.com/mapage.php?pc=%22abc%3Defg%2A%22
- Retransformer ma chaine cryptée dans mapage.php du style
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $phrasecryptee = UneFonctionQueJeConnaisPas( $_GET[ 'pc' ] )
J'imagine que dans le dernier cas, cette fonction existe (si qqun pouvais me la donner, je l'ai pas trouvée).
Mais j'ai un doute sur la bijectivité de la conversion, par exemple
%xx donne 'c' et %yy donne 'c' aussi (table ascii avant 32 et apres 128 notamment), donc l'operation inverse me donnera pas le bon resultat à coup sur.
Ou alors, pour la bijectivité, la fonction d'encryptage (qui utilise la fonction md5() ) ne genere que des car. entre le code ascii 32 et le code ascii 127.
Et dans ce cas, les caracteres visuelles sont tous différents.
Si c'est pas clair, faite moi signe !
En gros je transmets en param URL "a%3D"
et je récupère via $_GET[ 'pc' ] une chaine valant "a=" et je voudrais à coup sur récupérer bien sur "a%3D"
Merci !
Partager