mcrypt problème d'encodage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mcrypt problème d'encodage

Re: mcrypt problème d'encodage

par stealth35 » 13 nov. 2011, 20:55

il te le sort en binaire pas en hexa, fait un bin2hex

mcrypt problème d'encodage

par zzzzzz » 13 nov. 2011, 20:14

Bonjour à tous,

J'utilise une fonction (trouvé sur le net) utilisant mcrypt :

function Crypter($str, $key)
{
# Add PKCS7 padding.
$block = mcrypt_get_block_size('des', 'ecb');
if (($pad = $block - (strlen($str) % $block)) < $block) {
$str .= str_repeat(chr($pad), $pad);
}

return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
}

J'utilise cette fonction pour crypter un champ "pseudo". Après un INSERT SQL j'ai bien dans la BDD (UTF8) le champ pseudo est : e280b0e280b0027ec3afe280931fe280991932c39b7349c5a01966

Seulement quand je fais un SELECT et que je l'affiche en echo : j'obtiens :

SELECT pseudo,id,statut FROM `nd_membres` WHERE `pseudo` = '&#65533;&#65533;~&#65533;&#65533;&#65533;2&#65533;sI&#65533;f' AND `password` = 'CRTxoohWtF1xg' LIMIT 0 , 1

La requête ne marche évidemment pas (elle ne retourne rien). Pourquoi le SELECT ne prend t'il pas e280b0e280b0027ec3afe280931fe280991932c39b7349c5a01966 ?

Merci d'avance pour votre aide.