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

PHP & Base de données Discussion :

PHP et chiffrement rijndael


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut PHP et chiffrement rijndael
    Bonjour à tous,

    J'ai besoin de pouvoir récupérer de la donnée chiffrée en rijndael-256 pour un de mes sites.
    J'arrive à déchiffrer correctement en ASP sous IIS mais je n'y arrive pas en PHP.

    Sur ASP :

    J'utilise les scripts provenant de ce site : http://www.hanewin.net/encrypt/aes/aes.htm

    Voici la fonction pour chiffrer qui me retourne la donnée en format héxadecimale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      function encrypt(texte,key) 
    {
      	blockSizeInBits=128;
      	keySizeInBits=256;  	
      	return byteArrayToHex(rijndaelEncrypt(texte, hex2s(key), "ECB"));
    }
    Voici la fonction pour déchiffrer qui me retourne l'information en string:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      function decrypt(texte,key) 
    {
      	blockSizeInBits=128;
      	keySizeInBits=256;  	
      	return hex2s(byteArrayToHex(rijndaelDecrypt(hex2s(texte), hex2s(key), "ECB")));
    }
    Tout fonctionne correctement de mon coté, le problème c'est que j'ai besoin de porter le module de déchiffrage sur PHP.

    Voici ce que j'ai fait, cependant le résultat n'est pas bon contrairement à ma fonction de déchiffrage en ASP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function hexToStr($hex){
        $string='';
        for ($i=0; $i < strlen($hex)-1; $i+=2){
            $string .= chr(hexdec($hex[$i].$hex[$i+1]));
        }
        return $string;
    }
    echo mcrypt_decrypt( MCRYPT_RIJNDAEL_256 ,hexToStr($cle),hexToStr($adecoder),MCRYPT_MODE_ECB);

    Merci d'avance.

    Auriez vous une astuce pour m'aider à debugger ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux nous donner ta chaine d'origine et sa version chiffrée ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Bien sur.

    Voici la clé de chiffrement (pour mes tests) :

    ' Clef de 64 caractères alphanumérique
    key = "B7F7D4539B5DE7D37F405DE3D8942A15C2056D4A8A2F34C33F005E95B493495A"

    Chaine d'origine = "email=montest@test.fr"

    Chaine cryptée = "73e1cee91d84f80fb9e9f7a7cc9303c435e9a115e1d7d060036010c1bc4f6100"

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Bonjour,

    Je planche toujours sur mon problème.
    Est-ce que quelqu'un arriverai à retrouver ma chaîne d'origine en decryptant sur PHP?

    Merci d'avance

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $adecoder = "73e1cee91d84f80fb9e9f7a7cc9303c435e9a115e1d7d060036010c1bc4f6100";
    $key = "B7F7D4539B5DE7D37F405DE3D8942A15C2056D4A8A2F34C33F005E95B493495A";
    echo mcrypt_decrypt( MCRYPT_RIJNDAEL_128 , pack('H*', $key), pack('H*', $adecoder),MCRYPT_MODE_ECB);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Merci beaucoup Sabotage, cela marche parfaitement.

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

Discussions similaires

  1. [PHP-JS] Chiffrement réversible sans mcrypt
    Par hisy dans le forum Langage
    Réponses: 6
    Dernier message: 27/03/2007, 15h50
  2. [Sécurité] Chiffrement en PHP
    Par roudoudouduo dans le forum Langage
    Réponses: 7
    Dernier message: 05/01/2007, 10h13

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