|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
Je crypte des données avec la fonction : mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "Ma clé de cryptage","Mon texte à crypter", MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, MCRYPT_MODE_ECB), MCRYPT_RAND)) Avant de stocker le resultat dans une bdd MySQL. Lorsque je veux utiliser ensuite ce texte, je l'extrait de la bdd et le décrypte par la fonction inverse : je remplace mcrypt_encrypt par mcrypt_decrypt Je récupère bien mon texte, mais j'ai des caractères en plus à la fin du texte (un ? banc sur un losange noir), de l'ordre de 10 à 20, c'est variable. A quoi cela peut-il être dû ? Merci Laurent |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Laurent44 a écrit :
> Je crypte des données avec la fonction : > mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "Ma clé de cryptage","Mon texte à > crypter", MCRYPT_MODE_ECB, > mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, > MCRYPT_MODE_ECB), MCRYPT_RAND)) > Avant de stocker le resultat dans une bdd MySQL. > Lorsque je veux utiliser ensuite ce texte, je l'extrait de la bdd et > le décrypte par la fonction inverse : je remplace mcrypt_encrypt par > mcrypt_decrypt > > Je récupère bien mon texte, mais j'ai des caractères en plus à la fin > du texte (un ? banc sur un losange noir), de l'ordre de 10 à 20, c'est > variable. 1/ Vérifie que ce problème se pose même sans passer par l'intermédiaire de la BD. Si ce n'est plus le cas, le problème vient du stockage en BD qui ne conserve pas la totalité de la chaîne cryptée. 2/ Si le problème demeure : au début du texte à crypter, ajoute sa taille ("17 Bonjour, Monsieur"). Après décryptage, tronque le texte comme suit : $blanc = strpos($texte, ' '); $texte = substr($texte, $blanc + 1, substr($texte, 0, $blanc)); 3/ Non, je ne sais pas d'où vient le problème, mais l'important est d'avoir la solution ;-) eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/ |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Laurent44 a écrit :
> Je crypte des données avec la fonction : > mcrypt_encrypt(MCRYPT_RIJNDAEL_256, "Ma clé de cryptage","Mon texte à > crypter", MCRYPT_MODE_ECB, > mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, > MCRYPT_MODE_ECB), MCRYPT_RAND)) > Avant de stocker le resultat dans une bdd MySQL. > Lorsque je veux utiliser ensuite ce texte, je l'extrait de la bdd et > le décrypte par la fonction inverse : je remplace mcrypt_encrypt par > mcrypt_decrypt > > Je récupère bien mon texte, mais j'ai des caractères en plus à la fin > du texte (un ? banc sur un losange noir), de l'ordre de 10 à 20, c'est > variable. 1/ Vérifie que ce problème se pose même sans passer par l'intermédiaire de la BD. Si ce n'est plus le cas, le problème vient du stockage en BD qui ne conserve pas la totalité de la chaîne cryptée. 2/ Si le problème demeure : au début du texte à crypter, ajoute sa taille ("17 Bonjour, Monsieur"). Après décryptage, tronque le texte comme suit : $blanc = strpos($texte, ' '); $texte = substr($texte, $blanc + 1, substr($texte, 0, $blanc)); 3/ Non, je ne sais pas d'où vient le problème, mais l'important est d'avoir la solution ;-) eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/ |
|
![]() |
| Outils de la discussion | |
|
|