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 :

PHP et AES_DECRYPT


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 15
    Points
    15
    Par défaut PHP et AES_DECRYPT
    Bonjour,

    Je débute avec les fonctions "AES_ENCCRYPT" et "AES_DECRYPT" de Mysql et je suis parvenu à crypté les données que je veux insérer dans ma table.

    Maintenant je souhaiterai les afficher à nouveau mais en claire. Malheureusement, ça ne marche pas, pourtant j'ai tout essayé.

    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
    26
    27
    28
    29
    30
     
    <?php
    header('Content-Type: text/html; charset=utf-8');
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
     
    $server="127.0.0.1";
    $log="root";
    $pass="";
    $dbase="test";
     
     
    $cnx=mysqli_connect($server,$log,$pass,$dbase);
    if (!$cnx) {
        echo "erreur de connexion";
    } else {
        echo "connexion au serveur sql réussit<br><br>";
    }
     
    $req=mysqli_query($cnx,"INSERT INTO datas VALUES ('',AES_ENCRYPT('email@site.com', UNHEX(SHA2('cle',512))),'données en claire')");
     
    $select=mysqli_query($cnx,"select aes_decrypt(email, UNHEX(SHA2('cle',512))) as email from datas");
    while ($s=mysqli_fetch_assoc($select)) {
        $email=htmlspecialchars($s["email"]);
        $donnee_claire=htmlspecialchars($s["donnee_claire"]);
        echo "".$email." - ".$donnee_claire."<br><br>";
    }
     
    ?>
    aie-je loupé un truc ??

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Malheureusement, ça ne marche pas
    C'est plutôt mince comme description du problème.

    Je pense que ça vient du type de données renvoyées: le type BLOB.

    Ces deux fonctions manipulent les suites d'octets qui constituent ce que tu veux crypter et elles se moquent bien du type d'origine des données. C'est la raison pour laquelle AES_DECRYPT() te renvoie des données de type blob (et non text).

    Pour pouvoir de nouveau obtenir du texte, il faut dire que ces octets doivent être interprétés en tant que texte et bien entendu préciser l'encodage:

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select convert(aes_decrypt(aes_encrypt('email@site.com', 'laclef'), 'laclef') using utf8mb4);
    # email@site.com
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. [PHP 5.3] AES_DECRYPT en PHP
    Par fripou dans le forum Langage
    Réponses: 1
    Dernier message: 04/04/2015, 17h45
  3. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  4. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54

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