Bonjour tout le monde.
Je cherche à crypter des données coté client (en javascript) pour les utiliser par la suite coté serveur (donc les décoder avant).
Je passe par le cryptage type AES en mode ECB (pour éviter de passer par un vecteur d'initialisation)
Pour cela, coté serveur, j'utilise ceci :
Coté javascript, j'utilise cette implémentation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $chaine = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $clef, $string, MCRYPT_MODE_ECB); Cela me donne ceci : SLo1D1a6ftVmDt6mWm19T1GMRugcuXei8TlZyGPbaumwiz6pLqTZA%2F9vvnKCzXoPRieTya4Kw5RVbKy85Ibh74umEGRzd44mVt1lDGzEHaN1gEkq3G8PRxGVj%2F3Vz%2BG3AEojHPZXo7rRTDTnXsf5VUIjZgGcFNMn
http://javascript.about.com/library/blencrypt.htm
Mais cela me renvoit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var plaintext = 'le_texte_a_encoder'; # le meme qu'en PHP var key = hexToByteArray('098f6bcd4621d373cade4e832627b4f6'); # la cle, la meme qu'en PHP var mode = 'ECB'; # la méthode d'encryptage var ciphertext = byteArrayToString(rijndaelEncrypt(plaintext,key, mode)); document.write(encodeBase64(ciphertext)); # encodage en base64
p5ElrSnbn/h/PSr6EWaHlKkrMLUWXuiGh5d5WSI54TxWcjfSYlI00pmJaX2aaA76b4tCgOmW9FrBnzP+BJTmn6Xra+2P6PraTpcjuyTglDxVZgwVh/jEjQdfl8oXjaPuDaK+DherQYuNMY8KzZ1R56IwUndHz4qSP1tqHBpkrO
Donc en gros, pas la meme chose...
J'ai pas mal galéré sur le script en js (je considère que le script PHP est correct), passé ma chaine en hexa etc ... impossible d'avoir le même résultat.
SI quelqu'un a une idée, je serai vraiment preneur.
Merci
Partager