Cryptage et libmcrypt [Résolu]

cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention - 25 janv. 2008 à 09:05 - Dernière réponse : cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention
- 25 janv. 2008 à 15:36
Bonjour,

j'aimerais utiliser du cryptage AES en php avec la fonction :  mcrypt_module_open. Lors du chargement de la page l'erreur suivante se produit : Call to undefined function mcrypt_module_open(). J'ai php 5.2.5 (installé avec xamp) et je charge les 2 librairies  extension=php_mcrypt.dll
extension=libmcrypt.dll

es ce qu'il faut rajouter une info dans le php.ini?
merci d'avance

metos
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
codefalse 1127 Messages postés mardi 8 janvier 2002Date d'inscription 21 avril 2009 Dernière intervention - 25 janv. 2008 à 13:51
3
Merci
C'est ptete un probleme d'encodage, mais c'est pas sur (le chiffrement fait des choses bizares :p)

Pour etre sur tu enregistre sur un fichier sans preter attention aux charactères, ensuite tu lis le fichier et tu déchiffre, si tu trouve pas pareil, essaye avec les fonction utf8_encode/utf8_decode. Mais à mon avis tu n'en aura pas besoin ! :)

Walawala

Merci codefalse 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de codefalse
codefalse 1127 Messages postés mardi 8 janvier 2002Date d'inscription 21 avril 2009 Dernière intervention - 25 janv. 2008 à 13:22
0
Merci
Yop :)

Pour que cela fonctionne, il te faut libmcrypt 2.4.x or 2.5.x, c'est le cas ?
Fait un phpinfo.php et regarde la partie mcrypt, quelle version c'est. Car apparement la fonction mcrypt_module_open n'est pas reconnue par Php
Commenter la réponse de codefalse
cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention - 25 janv. 2008 à 13:31
0
Merci
En fait je modifié php.ini se trouvant dans le répertoire \php\ et c'était celui de \apache\bin qu'il fallait modifié.
autre question : quand on code une chaine, la valeur codée lorsque je l'affiche ou l'enregistre dans un fichier, me sort du n'importe quoi, apparement il faut appliquer une conversion du genre ascii ou autre. Genre il m'affchie des carré avec des ?.

merci d'avance

metos
Commenter la réponse de cs_metos
cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention - 25 janv. 2008 à 14:15
0
Merci
J'ai testé comme tu me l'as proposé et ca fonctionne.
en fait quand j'utilise C# pour codé mon string j'ai cette chaine en sortie :
dHNlsc1i/JKP7AzU1PqirXyezNxdAHVMDuh9Ija/AJCTbMTCYZM9RPXf/kUPe3snCO7ac5d3JpLIYmDiBS34KA==

alors qu'en php même avec utf8_encode sans change pas grand chose:
õ%l\Xµ9žˆ�B;�1B;ƒeª¿\øë�3;�15;_†äS#uá-Oó–äjêî.æµ´Ê�16;]½\â¢�C;v)kð›+�F;ۏ}í/
&JÕ|8#C;©Ú¢¡Fô�19;Í)

voilà niveau du code $string est la chaine que je code. J'ai enlever l'iv et la clé ;) :

$string = utf8_encode($string);
$key = 'supersecret';

/* Open module, and create IV */
$td = mcrypt_module_open('rijndael-128',
'','cfb', '');
$key = substr($key, 0,
mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size,
MCRYPT_RAND);
/* Initialize encryption handle */
if (mcrypt_generic_init($td, $key, $iv) !=
-1) {

/* Encrypt data */
$c_t = mcrypt_generic($td, $string);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$c_t = $iv.$c_t;
return $c_t;

metos
Commenter la réponse de cs_metos
codefalse 1127 Messages postés mardi 8 janvier 2002Date d'inscription 21 avril 2009 Dernière intervention - 25 janv. 2008 à 14:46
0
Merci
Donc apparement c'est bon ?

Si c'est le cas tu peux valider en cochant sur un des "Réponse acceptés" histoire de l'indiquer ? Merci :)
Commenter la réponse de codefalse
cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention - 25 janv. 2008 à 14:56
0
Merci
C'est à moitié bon ;)
le cryptage fonctionne, mais je n'arrive pas utiliser le bon apparement.
AES clé 256 bit en C# ne me donne pas le même resultat qu' AES clé 256 bit en php. Le IV fournit en C# pour une clé 256 correspond à une clé 192 bits en php... dur dur le cryptage...

metos
Commenter la réponse de cs_metos
codefalse 1127 Messages postés mardi 8 janvier 2002Date d'inscription 21 avril 2009 Dernière intervention - 25 janv. 2008 à 15:03
0
Merci
oula :/
Alors là, ... euh ..., bon probleme ! :p

Là je pourrai pas t'aider :/ Désolé :/
Commenter la réponse de codefalse
cs_metos 168 Messages postés vendredi 18 janvier 2002Date d'inscription 19 octobre 2009 Dernière intervention - 25 janv. 2008 à 15:36
0
Merci
merci quand meme ;)
va falloir que je teste un peu tous les modes ...

metos
Commenter la réponse de cs_metos

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.