Comunidad de diseño web y desarrollo en internet

Cómo encriptar textos en Actionscript 3

En muchas ocasiones tenemos información que debemos guardar y que no queremos que sea accesible directamente por el usuario. Por ejemplo, archivos de configuración de aplicaciones AIR o archivos de texto con variables. La solución es escriptar ese texto para que no sea entendible si el usuario accede a él directamente.

Para encriptar un texto en actionscript 3 lo primero que hacemos es descargarnos esta librería que nos permitirá utilizar varios algoritmos de encriptación.


Ahora nos crearemos una clase que utilice el cifrado en TEA. Este algoritmo requiere de un texto clave que tendrá que ser el mismo a la hora de encriptar y a la hora de desencriptar.

Código :

package com.cristalab.utils.security
{
   import com.meychi.ascrypt3.TEA;
   //-------------------------------------------------------------
   public class EncryptUtils
   {
      internal static const ENCRYPTION_KEY:String = "mi_contraseña_de_encriptado";   
      //-------------------------------------------------------------
      public static function encryptString(s:String):String
      {
         var tea:TEA = new TEA();
         var encryptedString:String = tea.encrypt(s, ENCRYPTION_KEY);         
         return encryptedString;
      }
      public static function decryptString(s:String):String
      {         
         var tea:TEA = new TEA();
         var decryptedString:String = tea.decrypt(s, ENCRYPTION_KEY);         
         return decryptedString;
      }
   }
}


La utilización de esta clase para encriptar texto sería:

Código :

import com.cristalab.utils.security;
var texto:String = "Lo que sea";
var texto_encriptado:String = EncryptUtils.encryptString(texto);


Y para desencriptar:

Código :

var texto:String = EncryptUtils.decryptString(texto_encriptado);


En esta clase de ejemplo la palabra clave para codificar esta añadida dentro de la misma clase, pero podríamos haber creado la clase haciendo que ese String le viniese como parámetro y así utilizar diferentes keys para diferentes proyectos. Lo que ha de estar claro es que para desencriptar un texto deberemos utilizar el mismo key que utilizamos para encriptarlo.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate