Bonjour à tous,

Je souhaite pouvoir afficher le resultat d'un AES_ENCRYPT en format string et non dans son "interpretaion" binaire.

Quand on fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT AES_ENCRYPT( 'text', 'paswword' );
cela done
: ??P0 ?g蚶E???

Comme c'est ecrit dans la doc mysql, il faut stocker le resultat dans un blob donc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
CREATE TABLE `encrypt` (
`ID` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ENCRYPT` BLOB NOT NULL ,
`ENCRYPT2` VARCHAR( 255 ) NOT NULL 
) TYPE = MYISAM ;
 
INSERT INTO `encrypt` ( `ID` , `ENCRYPT` , `ENCRYPT2` ) 
VALUES (
NULL , AES_ENCRYPT( 'text', 'password' ) , AES_ENCRYPT( 'text', 'password' ) 
);
Dans la colonne ENCRYPT2, il y a ö½¨Ü·øÍJ/ª¼Tf€D.

Hors quand je fais un dump, il donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
INSERT INTO `encrypt` VALUES (1, 0xf6bd0fa8dcb7f8cd4a2faabc54668044, 'ö½¨Ü·øÍJ/ª¼Tf€D');
c'est cette valeur en 0x... que je veux car j'ai vu que cela passait pour faire un comparaison (genre WHERE ENCRYPT=0xf6bd0fa8dcb7f8cd4a2faabc54668044).

J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT substring( `ENCRYPT` , 1 ) 
FROM `encrypt` 
WHERE 1
mais non il veut pas.


Sinon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT AES_DECRYPT( `ENCRYPT` , 'password' ) 
FROM `encrypt` 
WHERE 1
marche tres bien.

J'avoue je n'ai pas de super connaissance en binaire/mysql mais la je ne vois pas.

Le but étant simplement de pouvoir crypter un mail pour pouvoir créer un lien de confirmation et ensuite pouvoir decrypter le mail avec la clé.

Merci de m'avoir lu !!!!!!