Guest Xavir Posté 6 Mars 2005 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.
Anonymus Posté 6 Mars 2005 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.
Guest Xavir Posté 8 Mars 2005 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant