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..
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..
Ouvrez Flash et créez un nouveau fichier Flash (ActionScript 3)..
Définissez la taille de la scène sur 500x300 px.
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..
Nous allons utiliser une seule classe dans cette application.
Créez un nouveau fichier ActionScript et enregistrez-le sous le nom "Main.as"..
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;
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
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
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
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.
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
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
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);
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);
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);
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.
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);
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");
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
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 ();
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.
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..
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.
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..
Testez votre nouveau logiciel de cryptage et n'oubliez pas d'explorer le script Zinc mdm.!
Merci d'avoir lu :)