Bonjour. Je souhaite utiliser les fonctions encode decode de MySQL pour crypter et décrypter des données. Voici mon code :
Ici, j'encode un mot et je le met crypté et non crypté dans la base de donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $mot_crypt = " "; $requete = "INSERT INTO crypt ( touche, touche_crypt) VALUES "; $requete .= "('RZU', "ENCODE('RZU','kokoko') ) "; //-->kokoko est la clé de cryptage/décryptage $connection->query($requete); //j'utilise des class pour mes connections MySQL
Ensuite je fais un SELECT , le code importe peu mais il est juste. Voila le résultat :
Pour le mot "RZU" (avec majuscule) quand je décode ca me donne "RZ".
Vous pensez bien que ce n'est pas le seul mot avec lequel j'ai un probleme. En fait j'ai fais un programme qui met en base de donnee 850000 mots différents crypté et non crypté. Ensuite il décrypte le tout et compare le mot crypté et non crypté et m'affiche s'il existe une différence.
Sur 850000 mots, j'ai environ 2000-3000 incohérences (pas fait de comptage).
D'où peut venir ce probleme ?
Est-ce moi qui fait une erreur, un oubli ?
Quelqu'un a t'il déja constaté cela ?
Je vous remercie de votre aide.
Partager