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 :

Chiffrement avec MCrypt en AES-128


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut Chiffrement avec MCrypt en AES-128
    Bonjour

    Je voudrais pouvoir encrypter une chaine de caracteres enAES-128 (Rijndael-128) en PHP et decrypter avec une application externe (non programmee en PHP).
    J'ai donc mis en place ce code :
    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
     
    		private function aes_encrypt($data){
    			if($data == ''){
    				return($data);
    			}
    			$td = mcrypt_module_open('rijndael-128', '', 'ecb', '');
    			$public_key = base64_decode($this->getKey());
    			$iv_size = mcrypt_enc_get_iv_size($td);
    			$iv = '0000000000000000';
     
    			if (mcrypt_generic_init($td, $public_key, $iv) != -1) {
    				// Encrypt
    				$encrypted = mcrypt_generic($td, $data);
    				mcrypt_generic_deinit($td);
     
    				// Clean
    				//mcrypt_generic_deinit($td);
    				mcrypt_module_close($td);
     
    				$encrypted = base64_encode($encrypted);
    				//echo $data.'<br>';
    				//echo $encrypted.'<br>';
    			}
     
    			return($encrypted);
    		}
    Cote PHP, tout est correct, j'encrypte et je peux decrypter correctement.
    Mais quand j'envoie la chaine encryptee a l'application, elle ne peux decrypter.

    En faisant des tests, je me suis rendu compte que si je mettais la chaine a encrypter directement dans la fonction comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $data = 'La chaine a encrypter';
    ca passait, mais si cette meme chaine est fournie sous forme de parametre, ca bloque.

    NB : Cote PHP, que ce soit avec une chaine hardcodee ou un parametre, je n'obtiens pas la meme chaine encryptee, mais le decryptage fonctionne...

    Si quelqu'un arrive a comprendre et a une explication/solution, je suis preneur.

    Merci

  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
    Qu'est ce que ça veut dire "ca bloque" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut
    Quand on essaie de decrypter, le programme crashe. Il ne peut pas decrypter.
    Mais, comme je le disais, si on met la chaine a decrypter en dur dans la fonction, ca passe. On arrive a decrypter.

  4. #4
    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
    Quel programme et avec quelle erreur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de messier79
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2003
    Messages : 124
    Par défaut
    Nous utilisons un programme developpe en ObjectiveC (Apple). AES est implemente dans le systeme lui-meme.
    Le code erreur retourne est sybillin (-4XXX).
    Personnellement, je ne pense pas que le probleme vienne de la. Je pense qu'il y a qqc au niveau de PHP.

  6. #6
    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
    Est-ce que ton code PHP fonctionne en dehors de ce système ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Problème de chiffrement avec AES : argument (apparemment) null
    Par Leelith dans le forum Framework .NET
    Réponses: 12
    Dernier message: 27/04/2013, 15h41
  2. Cryptage avec mcrypt
    Par ErOBaKa dans le forum Langage
    Réponses: 3
    Dernier message: 11/02/2009, 11h13
  3. Chiffrement avec une clé définie
    Par AsH.fr dans le forum Langage
    Réponses: 3
    Dernier message: 31/10/2007, 09h27
  4. [MCRYPT] cryptage/décryptage avec mcrypt
    Par Zobbiwan dans le forum Langage
    Réponses: 7
    Dernier message: 10/08/2007, 09h52
  5. AES 128 bits
    Par bibi-C-Moi dans le forum VHDL
    Réponses: 3
    Dernier message: 31/07/2007, 08h25

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