Développer une application de chiffrement à l'aide de Flash et de MDM Zinc

Le cryptage est le processus de transformation des informations à l'aide d'un algorithme afin de les rendre illisibles pour quiconque, à l'exception de ceux qui possèdent des connaissances particulières, généralement appelées clé..

En utilisant Multidmedia Zinc, nous allons créer une application de chiffrement dans ActionScript 3, capable de chiffrer du texte et des fichiers avec une clé spécifiée par l'utilisateur..




Étape 1: bref aperçu

En utilisant la classe mdm.Encryption et ses méthodes, nous allons utiliser une interface simple pour obtenir le fichier, le texte et la clé à chiffrer..

Étape 2: démarrage

Ouvrez Flash et créez un nouveau fichier Flash (ActionScript 3)..

Définissez la taille de la scène sur 500x300 px.

Étape 3: interface

Une interface simple fonctionnera très bien dans cette application, je ne vais donc pas détailler sa création.

Quatre boutons sont présents dans l'écran de démarrage, un Texfield et une icône permettent d'afficher sa fonction. Il y a aussi un autre Texfield au bas de la scène qui affichera un message lorsque le cryptage / décryptage est terminé. Vous pouvez voir les noms d'instance dans l'image.

Ceci est la deuxième vue utilisée dans le film. C'est un MovieClip nommé "TextView" qui sera appelé depuis ActionScript (n'oubliez pas de cocher la case), un gros TextField nommé "encryptText" et l'autre nommé "encryptKey". Dans les sections Encrypt File, le champ "encryptText" DOIT avoir un chemin complet. Vous ne pouvez pas implémenter une méthode de navigation pour obtenir un chemin complet pour des raisons de sécurité..

Il existe également deux boutons, "encryptionButton" et un bouton qui sera appelé avec ActionScript pour revenir à l'écran de démarrage. Il s'appelle "BackButton". N'oubliez pas de cocher la case "Exporter pour ActionScript" lors de la conversion en MovieClip..

Comme vous pouvez le constater, l'interface est très simple. N'oubliez pas que si vous avez des doutes sur les noms d'instance, vous pouvez vérifier la source..

Étape 4: le code

Nous allons utiliser une seule classe dans cette application.

Créez un nouveau fichier ActionScript et enregistrez-le sous le nom "Main.as"..

Étape 5: Classes nécessaires

Importons d'abord les classes dont nous aurons besoin.

 package import mdm. *; // Les classes mdm, vous devez l'importer pour utiliser les méthodes et les propriétés mdm import flash.display.Sprite; import flash.events.MouseEvent; import fl.transitions.Tween; import fl.transitions.easing.Strong; import fl.transitions.TweenEvent;

Étape 6: Déclaration et extension de la classe

le s'étend mot-clé définit une classe qui est une sous-classe d'une autre classe. La sous-classe hérite de toutes les méthodes, propriétés et fonctions, ainsi nous pouvons les utiliser dans notre classe.

 public class Main étend Sprite 

Étape 7: Variables

Ce sont les variables que nous allons utiliser, expliquées dans les commentaires.

 var tween: Tween; // Un objet d'interpolation à animer var textView: TextView; // L'objet TextView, il s'agit d'une occurrence de TextView MovieClip var back: BackButton; // Une instance du BackButton que nous avons créé auparavant

Étape 8: Extension de la classe

Nous allons utiliser des méthodes et des propriétés spécifiques à MovieClip, nous étendons donc à l'aide de la classe MovieClip. L'extension à l'aide de la classe Sprite ne fonctionnera pas.

 Classe publique principale étend MovieClip 

Étape 9: Fonction du constructeur

C'est la fonction principale.

 fonction publique Main (): void mdm.Application.init (this, onInit); // initialise mdm Script ™. Cela n’est requis que pour les applications programmées dans ActionScript 3.

Étape 10: Fonction d'initialisation

Cette fonction est exécutée au démarrage du script mdm. Il appelle simplement une fonction pour ajouter des écouteurs de boutons.

 fonction privée onInit (): void addButtonListeners (); // ajoute les écouteurs aux quatre boutons principaux

Étape 11: Ajouter des auditeurs de boutons

C'est la fonction qui ajoute les auditeurs.

 la fonction privée addButtonListeners (): void efButton.addEventListener (MouseEvent.MOUSE_UP, encryptFileHandler); // Déchiffrer l'écouteur de fichier dtButton.addEventListener (MouseEvent.MOUSE_UP, decryptTextHandler); // Déchiffrer l'écouteur de texte

Étape 12: Supprimer les écouteurs de bouton

Les écouteurs seront supprimés lorsque l'on cliquera sur l'un des boutons.

 fonction privée removeButtonListeners (): void efButton.removeEventListener (MouseEvent.MOUSE_UP, encryptFileHandler); etButton.removeEventListener (MouseEvent.MOUSE_UP, encryptTextHandler); dfButton.removeEventListener (MouseEvent.MOUSE_UP, decryptFileHandler); dtButton.removeEventListener (MouseEvent.MOUSE_UP, decryptTextHandler); 

Étape 13: Animation du bouton

Une animation déplacera les boutons de la scène pour les masquer.

 fonction privée animateButtons (): void / * Déplace les boutons vers la droite * / tween = new Tween (efButton, "x", Strong.easeOut, efButton.x, stage.stageWidth + efButton.width, 1, true); tween = new Tween (etButton, "x", Strong.easeOut, etButton.x, stage.stageWidth + etButton.width, 1, true); tween = new Tween (dfButton, "x", Strong.easeOut, dfButton.x, stage.stageWidth + dfButton.width, 1, true); tween = new Tween (dtButton, "x", Strong.easeOut, dtButton.x, stage.stageWidth + dtButton.width, 1, true); 

Étape 14: Gestionnaires de chiffrement de fichiers

Ces fonctions appellent le chiffrement / déchiffrement de fichiers en fonction du bouton sur lequel vous avez cliqué..

 fonction privée encryptFileHandler (e: MouseEvent): void showTextView (); // affiche le "TextView" textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, encryptFile); // ajoute l'écouteur au bouton de chiffrement fonction privée decryptFileHandler (e). : MouseEvent): void showTextView (); textView.encryptionButton.txt.text = "Déchiffrer"; // Modifie les champs de texte du bouton de cryptage textView.encryptionButton.txtLP.text = "Décrypter"; textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, decryptFile); 

Étape 15: Cryptage / décryptage de fichiers

Ces fonctions utilisent la classe mdm.Encrypt pour chiffrer / déchiffrer un fichier, obtenu en écrivant un chemin complet dans le grand champ TextField et en écrivant une clé dans le petit.

Note de l'éditeur: Je crains que le code ActionScript de cette étape ne provoque la surchauffe de Firefox par notre surligneur de syntaxe (cela se produit parfois et je ne sais pas pourquoi). Pour le moment, il est préférable de le télécharger. Désolé pour le dérangement.

Étape 16: Gestionnaires de cryptage de texte

Ces fonctions appellent le cryptage / décryptage de texte en fonction du bouton sur lequel vous avez cliqué..

 fonction privée encryptTextHandler (e: MouseEvent): void showTextView (); textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, encryptText);  fonction privée decryptTextHandler (e: MouseEvent): void showTextView (); textView.encryptionButton.txt.text = "Déchiffrer"; textView.encryptionButton.txtLP.text = "Déchiffrer"; textView.encryptionButton.addEventListener (MouseEvent.MOUSE_UP, decryptText); 

Étape 17: Cryptage de texte

Ces fonctions utilisent la classe mdm.Encrypt pour chiffrer / déchiffrer une chaîne, obtenues en écrivant du texte dans le grand TextField et en écrivant une clé dans le plus petit..

 fonction privée encryptText (e: MouseEvent): void if (textView.encryptText.length! = 0 && textView.encryptKey.length! = 0) / * mdm.Encryption.encryptString (clé: String, dataToEncrypt: String, [oldMethod] : Boolean = true]): String * / textView.encryptText.text = mdm.Encryption.encryptString (textView.encryptKey.text, textView.encryptText.text, false); message.text = "Cryptage terminé";  else trace ("Veuillez remplir tous les champs");  fonction privée decryptText (e: MouseEvent): void if (textView.encryptText.length! = 0 && textView.encryptKey.length! = 0) / * mdm.Encryption.decryptString (clé: String, dataToDecrypt: String, [oldMethod: Boolean = true]): String * / textView.encryptText.text = mdm.Encryption.decryptString (textView.encryptKey.text, textView.encryptText.text, false); message.text = "Décryptage terminé";  else trace ("Veuillez remplir tous les champs"); 

Étape 18: Affichage du texte

Le TextView est la vue qui apparaît lorsque l’un des quatre boutons principaux est cliqué, voici le code qui l’affiche.

 fonction privée showTextView (): void textView = new TextView (); removeButtonListeners (); animateButtons (); addBackButton (); textView.x = stage.stageWidth / 2; addChild (textView); tween = new Tween (textView, "y", Strong.easeOut, stage.stageHeight + textView.height, stage.stageHeight / 2,1, true); // Déplace cette vue vers le haut

Étape 19: bouton de retour

Le bouton Précédent apparaît lorsque le TextView est actif. Une pression sur cette touche ramène les boutons à l'écran et supprime le TextView et lui-même. Il efface également le "message" TextField.

 fonction privée addBackButton (): void back = new BackButton (); back.x = back.width; back.y = stage.stageHeight / 2; addChild (retour); back.addEventListener (MouseEvent.MOUSE_UP, backHandler);  fonction privée backHandler (e: MouseEvent): void message.text = ""; back.removeEventListener (MouseEvent.MOUSE_UP, backHandler); removeChild (textView); tween = new Tween (efButton, "x", Strong.easeOut, efButton.x, 140,1, true); tween = new Tween (etButton, "x", Strong.easeOut, etButton.x, 360,1, true); tween = new Tween (dfButton, "x", Strong.easeOut, dfButton.x, 140,1, true); tween = new Tween (dtButton, "x", Strong.easeOut, dtButton.x, 360,1, true); removeChild (retour); addButtonListeners (); 

Étape 20: Classe de document

Retournez dans le fla et dans le panneau de propriétés, la zone de texte de la classe ajoute "Main". Cela liera la classe principale en tant que classe de document.

Étape 21: Zinc

Désormais, le test de votre nouvelle application entraînera une série d’erreurs résultant de l’utilisation des classes MDM. Pour résoudre ce problème et que votre chiffrement fonctionne, nous devons obtenir Multidmedia Zinc..

Zinc est un logiciel de développement d'applications Flash qui étend les fonctionnalités de Flash Movie en utilisant mdm Script, un langage de programmation similaire à ActionScript. Vous pouvez télécharger une version d'essai gratuite à partir de son site Web..

Étape 22: Composant de zinc

Après avoir téléchargé Zinc Builder, vous devez lier leur composant compilé à Flash afin d'interpréter le script mdm et de supprimer les avertissements d'erreur..

Sélectionnez Flash> Préférences> ActionScript (catégorie)> Paramètres d’ActionScript 3.0, puis cliquez sur l’icône swc pour ajouter le composant..

Testez votre film pour créer un swf sans erreur et ouvrez le zinc.

Étape 23: Construction

Créez un nouveau projet (Cmd + N) et recherchez votre fichier swf.

Utilisez les panneaux gauche et droit pour personnaliser votre application.

Ensuite, allez dans l'onglet Extensions et marquez la liste déroulante mdm_encryption.

Enfin, sélectionnez Projet> Construire le projet et cliquez sur Construire pour compiler votre application..

Conclusion

Testez votre nouveau logiciel de cryptage et n'oubliez pas d'explorer le script Zinc mdm.!

Merci d'avoir lu :)