Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2006, 12h29   #1
Membre Expert
 
Avatar de TicTacToe
 
Inscription : septembre 2005
Messages : 1 921
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : septembre 2005
Messages : 1 921
Points : 1 910
Points : 1 910
Par défaut Cryptage -> URL -> Décryptage, pb code ascci %xx

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:

Code :
1
2
$phrasecryptee = Encrypte( $phrase, $clef );
echo $phrasecryptee; // renvoie : abc%3Defg%2A
%3D correspond à "=" et %2A correspond à "*".

Quant je souhaite transmettre $phrasecryptee en argument d'une URL style
Code :
http://www.monsite.com/mapage.php?pc=abc%3Defg%2A
Lors de la récupération, php interprète les %xx et les transforme en les caractères correspondant.
--> 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:
Code :
http://www.monsite.com/mapage.php?pc=%22abc%3Defg%2A%22
--> mais qui me dit que ma fonction crypt ne me renvoie pas des %22 dedans ?


- Retransformer ma chaine cryptée dans mapage.php du style
Code :
 $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 !
TicTacToe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 12h56   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
ces fonctions te seront sans doute utiles :
http://fr3.php.net/fr/urlencode
http://fr3.php.net/manual/fr/function.rawurlencode.php

evidemment, les version "decode" existent également.
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 13h58   #3
Membre Expert
 
Avatar de TicTacToe
 
Inscription : septembre 2005
Messages : 1 921
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : septembre 2005
Messages : 1 921
Points : 1 910
Points : 1 910
merci
c'est ce que je cherchais
TicTacToe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h29.


 
 
 
 
Partenaires

Hébergement Web