Home > developpement, flex > Utiliser le cryptage MD5 en Actionscript 3

Utiliser le cryptage MD5 en Actionscript 3

février 12th, 2009

Je travaille actuellement sur une application web dont le front est développé en flex. Ce client flex communique avec le serveur en postant les données à traiter vers du code PHP.

Dans ce genre de communication, j’aime bien poster un checksum en supplément des données à traiter afin de valider que la requête est bien issue du client flex et pas d’un hacker qui appelle le code en direct.

Le principe est simple. L’application flex calcule le checksum à partir des données à traiter et encode le tout en MD5. Du côté PHP on applique le même calcul et on compare la chaine calculée au checksum reçu. Si ils ont égaux on considère que la requête provient bien du flex.

Seul problème, le language Actionscript ne permet pas en standard d’encrypter une chaine en MD5 comme c’est par exemple le cas en PHP.

Heureusement, une implémentation open source existe. Il s’agit de la libriarie as3corelib disponible sur google code.

Pour utiliser cette bibliothèque, il suffit de télécharger le fichier zip, de le décompresser et de copier le contenu du répertoire “src” à la racine de votre projet flex.

Ensuite, dans votre code actionscript, il suffit de procéder comme suit :

import com.adobe.crypto.MD5;
var hash:String = MD5.hash(”test”);

Dans la variable hash, vous trouverez le résultat de l’encodage en MD5 de la chaine “test”.

VN:F [1.0.8_357]
Rating: 4.6/5 (8 votes cast)
Partager et découvrir : Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Webnews
  • MisterWong
  • Y!GG
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Technorati
  • Wikio

developpement, flex , , ,

  1. Paradoxe
    avril 21st, 2010 at 16:17 | #1

    Bonjour,
    Merci pour le tuto…

    Par contre, du côté de PHP, si je passe une variable en MD5, existe-t-il une méthode pour décrypter.
    Par exemple, j’encode un mot de passe utilisateur et le passe à un fichier PHP pour une mise à jour dans une base de données;
    Donc le mdp est stocké en crypté dans la base.
    Puis lorsque l’utilisateur se connecte, je crypte et compare les deux mdp
    Merci

    VA:F [1.0.8_357]
    Rating: 5.0/5 (1 vote cast)
  2. juin 9th, 2010 at 13:05 | #2

    Le MD5 n’est pas un chiffrement (cryptage étant un abus de langage) mais un hachage. Les hachages sont des extraits donc il n’est pas possible de retrouver une valeur ou une chaine à partir d’un MD5.
    La solution consiste donc à comparer les deux chaines MD5.

    VN:F [1.0.8_357]
    Rating: 5.0/5 (1 vote cast)
  1. No trackbacks yet.