Guest Xavir Posté 6 Mars 2005 Partager Posté 6 Mars 2005 Bonjour, G un problème avec ce cryptage : Après avoir crypté 2 chaines, puis mit dans un cookie, je récupère les informations et les décryptes. Le seul hic, c'est qu'après décryptage, le nombres de caractères est tourjours de 16 ! Alors je me retrouve avec les espaces à la fin du mot décrypté ke je ne peux pa enlever : function encode_cookie($loginuser,$loginpass){ $key = md5("Clé"); $key2 = md5("Clé 2"); $td = mcrypt_module_open (MCRYPT_SERPENT, "", MCRYPT_MODE_ECB, ""); $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND); mcrypt_generic_init ($td, $key, $iv); $lgusrcookie = mcrypt_generic($td, $loginuser); mcrypt_generic_deinit ($td); $td2 = mcrypt_module_open (MCRYPT_SERPENT, "", MCRYPT_MODE_ECB, ""); $iv2 = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td2), MCRYPT_RAND); mcrypt_generic_init ($td2, $key2, $iv2); $lgpsscookie = mcrypt_generic($td2, $loginpass); mcrypt_generic_deinit ($td2); setcookie("type1",$lgusrcookie,time()+60*60*24); setcookie("type2",$lgpsscookie,time()+60*60*24);}function decode_cookie_usr(){ $lgusrdecookie = $_COOKIE["type1"]; $key = md5("Clé"); $td = mcrypt_module_open (MCRYPT_SERPENT, "", MCRYPT_MODE_ECB, ""); $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND); mcrypt_generic_init ($td, $key, $iv); $loginuser_serpent = mdecrypt_generic ($td, $lgusrdecookie); mcrypt_generic_deinit ($td); $loginuser = str_replace(" ", "", $loginuser_serpent); // même avec ça les espaces ne s'en vont pa ! return $loginuser;}function decode_cookie_pss(){ $lgpssdecookie = $_COOKIE["type2"]; $key2 = md5("Clé 2"); $td2 = mcrypt_module_open (MCRYPT_SERPENT, "", MCRYPT_MODE_ECB, ""); $iv2 = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td2), MCRYPT_RAND); mcrypt_generic_init ($td2, $key2, $iv2); $loginpass_serpent = mdecrypt_generic ($td2, $lgpssdecookie); mcrypt_generic_deinit ($td2); $loginpass = str_replace(" ", "", $loginpass_serpent); //Pareil return $loginpass;} Voilà, alors si le mot de passe décrypté vaut "coucou", il vaudra en fait "coucou (avec encore 10 espaces pour faire 16 caractères)". Y a-t-il une solution pour les enlever, et retrouver la vrai chaine non-cryptée après décryptage ? Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 6 Mars 2005 Partager Posté 6 Mars 2005 Bonjour, pour enlever des espaces avant ou après, il existe : trim : enlève les caractères invisibles et espaces en début et fin de chaine, ltrim : idem, en début de chaine rtrim : idem, en fin de chaine. Nico. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest Xavir Posté 8 Mars 2005 Partager Posté 8 Mars 2005 (modifié) Ok, merci, je vais essayer ! Merci, j'ai pris rtrim(), et ça marche impec, merci ! Modifié 8 Mars 2005 par Xavir Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant