IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Fonctionnement base64_encode [Archives]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut [Système] Fonctionnement base64_encode
    Je ne comprends pas vraiment comment fonctionne cette fonction.
    En fait, j'ai récupérer un fichier source qui permet de coder/decoder une chaine de caracteres possedant cette fonction.

    Je voudrais juste savoir quels caracteres sont sortis par la fonction "base64_encode" afin de voir si je peux passer le resultat dans un GET.
    En effet, s'il génère des & avec des =, ce serait problématique.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 391
    Points : 15 743
    Points
    15 743
    Par défaut
    tu trouvera des explications sur cette fonction à l'adresse suivante : http://php.net/base64_encode

    donne nous plus de détails sur la façon dont tu utilises cette fonction et quelles données tu traites

  3. #3
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function crypter_chaine($string, $key) {
       $result = '';
       for($i=0; $i<strlen($string); $i++) {
         $char = substr($string, $i, 1);
         $keychar = substr($key, ($i % strlen($key))-1, 1);
         $char = chr(ord($char)+ord($keychar));
         $result.=$char;
       }
     
       return base64_encode($result);
      }
     
      function decrypter_chaine($string, $key) {
       $result = '';
       $string = base64_decode($string);
     
       for($i=0; $i<strlen($string); $i++) {
         $char = substr($string, $i, 1);
         $keychar = substr($key, ($i % strlen($key))-1, 1);
         $char = chr(ord($char)-ord($keychar));
         $result.=$char;
       }
     
       return $result;
      }
    Lors de l'inscription a mon site, je crypte le pseudo avec la fonction crypter_chaine, puis j'envoie un mail de confirmation avec le lien:

    http://sourivore.free.fr?validation.php?pseudo= [Pseudo crypté]

    Sur la page validation, je recupere la valeur de pseudo avec $_GET['pseudo'], je décrypte avec la fonction decrypter_message, puis je verifie si le pseudo est dans la base auquel cas je valide l'inscription.

    Donc mon problème est là si Pseudo crypté="bidsbSDFe&buog=sdgf" par exemple, je ne récupérerai que bidsbSDFe avec GET et pas le reste.

    D'où la nécessité de savoir quels caracteres retourne la fonction base64_encode

    Voilà j'espere que j'ai été assez clair.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 391
    Points : 15 743
    Points
    15 743
    Par défaut
    ok j'ai compris dans ce cas je te conseille d'utiliser un autre système
    Utilise une table avec 2 champs par exemple, un champ avec le numéro de l'action et un champ avec le pseudo.
    À l'inscription tu crées une ligne dans cette table et donc tu envoye un mail avec le lien "validation.php?num=226". Ensuite dans la page validation tu récupères le pseudo qui correspont au numéro 226 et tu valides le pseudo.
    Avec ce système tu peux par exemple rajouter une durée de validité dans un 3me champ ou plein d'autre choses

  5. #5
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Citation Envoyé par mathieu
    ok j'ai compris dans ce cas je te conseille d'utiliser un autre système
    Utilise une table avec 2 champs par exemple, un champ avec le numéro de l'action et un champ avec le pseudo.
    À l'inscription tu crées une ligne dans cette table et donc tu envoye un mail avec le lien "validation.php?num=226". Ensuite dans la page validation tu récupères le pseudo qui correspont au numéro 226 et tu valides le pseudo.
    Avec ce système tu peux par exemple rajouter une durée de validité dans un 3me champ ou plein d'autre choses
    OK, merci!
    Par curiosité j'aimerai quand même quels caracteres cette fonction envoie.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Voici les caractères possibles pour un codage en base64 (source: http://www.faqs.org/rfcs/rfc2045 chapitre 6.8 )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
                        Table 1: The Base64 Alphabet
     
         Value Encoding  Value Encoding  Value Encoding  Value Encoding
             0 A            17 R            34 i            51 z
             1 B            18 S            35 j            52 0
             2 C            19 T            36 k            53 1
             3 D            20 U            37 l            54 2
             4 E            21 V            38 m            55 3
             5 F            22 W            39 n            56 4
             6 G            23 X            40 o            57 5
             7 H            24 Y            41 p            58 6
             8 I            25 Z            42 q            59 7
             9 J            26 a            43 r            60 8
            10 K            27 b            44 s            61 9
            11 L            28 c            45 t            62 +
            12 M            29 d            46 u            63 /
            13 N            30 e            47 v
            14 O            31 f            48 w         (pad) =
            15 P            32 g            49 x
            16 Q            33 h            50 y

  7. #7
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    OK merci!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème fonctionnement appli sur autre système
    Par argon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/12/2008, 10h16
  2. fonctionner java sur des systèmes embarqués
    Par kris1 dans le forum Général Java
    Réponses: 5
    Dernier message: 05/03/2008, 12h02
  3. Réponses: 3
    Dernier message: 05/12/2007, 14h27
  4. [Système] mkdir ne fonctionne pas
    Par Invité dans le forum Langage
    Réponses: 16
    Dernier message: 02/03/2007, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo