¿Quieres registrarte?

Cómo encriptar textos en Actionscript 3

Por: Zguillez
7 de Diciembre del 2009
7273 de clabLevel
Otros artículos de Zguillez
1,321 visitas

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.

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas air actionscript_3 seguridad

Comentarios | Enviar un comentario
eso y sumado a un SOL o SharedObject sería genial ^^ pero ojo, con cuidado con el tipo de info que utilizan.

Buen tip
Por: eldervaz
Para aumentar un poco el tip. TEA es el acrónimo de Tiny Encryption Algorithm. Porque es muy fácil de implementar. Por su naturaleza, es crackeable con suficiente tiempo y ataques de fuerza bruta, porque matemáticamente pueden generarse hasta tres claves equivalentes por clave.

Nunca había visto una implementación en AS3. Muy cool Z.
Por: Freddie
osea que sigue siendo mejor el MD5?
Por: Xyrer

Xyrer-blog :

osea que sigue siendo mejor el MD5?

MD5 sería más para proteger contraseñas en una base de datos, ya que un hash de MD5 no se puede desencriptar.
Por: Zguillez

Xyrer-blog :

osea que sigue siendo mejor el MD5?
Como dice Z, MD5 es un algoritmo de cifrado de un sólo camino. Una vez usado, no se puede desencriptar su contenido. El algoritmo de Z es de dos caminos y con la clave correcta puede descifrarse. Casi todos los algoritmos de dos caminos son crackeables, excepto PGP que usa claves públicas y privadas. Pero es un cuento ya innecesario en lo que a este ejemplo compite.
Por: Freddie
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.