LAZIOMATICA – Guida allo Sviluppo Software

La nuova forma del software su misura…

 

Shared Object in Flash Lite per gestire il seriale di un’applicazione

Sezione per il check  dell’autorizzazione:

function loadCompletePrefs (mySO:SharedObject) {

if (0 == mySO.getSize() ) // non è presente l’oggetto nel dispositivo
{
trace(“NO SHARED FOUND”)
// Se size è uguale a 0, è necessario inizializzare i dati:
gotoAndStop(“serial”) // salto alla sezione per impostare i dati..in questo caso l’inserimento del seriale

}
else
{
//mySO.clear();
// Traccia tutti i dati in mySO:
trace(“SHARED FOUND”)
trace( “Prefs:” );
for (var idx in mySO.data) {
trace( ” ” + idx +”: ” + mySO.data[idx] );
if (idx==”md5″) if( mySO.data[idx]==md5)
{
trace(“Autenticazione OK”)
// continua con elaborazione filmato da utente autenticato o autorizzato
}
else trace (“Autenticazione failed”)

}
}
}

// Istanziamo  l’oggetto condiviso:

var Prefs:SharedObject = SharedObject.getLocal(“Prefs”);

SharedObject.addListener( “Prefs”, loadCompletePrefs );

Sezione di scrittura dello SharedObject:

function saveSeriale (mySO:SharedObject) {
mySO.data.name = “Infodemo”;
mySO.data.email = “info@laziomatica.com”;
mySO.data.serial1 = sn01;
mySO.data.serial2 = sn02;
mySO.data.serial3 = sn03;
mySO.data.md5 = md5v;
mySO.flush();
var flushResult = mySO.flush(); // qui salviamo l’oggetto
switch (flushResult) {
case ‘pending’ :
md5.text += “pending”;
break;
case true :
md5.text += “Data was flushed.”;
break;
case false :
md5.text += “Test failed. Data was not flushed.”;
break;
}

}

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
var keyCodev = Key.getCode();
if (keyCodev == ExtendedKey.SOFT2) {

if (key1.text==sn01 && key2.text==sn02 && key3.text==sn03)
{
md5.text=”OK CHECK”;
_focusRect = false;
//gestiamo lo shared object appena finito il suo recupero…che in questo caso è immediato poichè non esiste

Prefs = SharedObject.getLocal(“Prefs”);

SharedObject.addListener( “Prefs”, saveSeriale );
}
else  md5.text=”NO CHECK”;

}

}

};

// gestore di eventi tastiera
Key.addListener(keyListener);

Questo è tutto.

Filed under : Actionscript 2,Flash CS3,Flash CS4,Flash Lite,MOBILE
By admin
On 28 gennaio 2009
At 13:40
Comments : 0
 
 

Implementing Encryption in AS2 and AS3

download Libreria flashcrypt

Use for MD5:

import be.boulevart.as2.security.Encryption;
import be.boulevart.as2.security.EncryptionTypes;
var e:Encryption;
e = new Encryption(EncryptionTypes.MD5(), “123244″ , null, null, null, null);
e.calculate();

trace(“String after MD5 calculation: ” + e.getInput() + “\n”);

Full original AS3 example:

package be.boulevart.as3 {
/**
* Encodes and decodes a base64 string.
* @authors Sven Dens – http://www.svendens.com
* @version 0.1
*
* Original Javascript implementation:
* Aardwulf Systems, www.aardwulf.com
* See: http://www.aardwulf.com/tutor/base64/base64.html
*/
import flash.display.MovieClip;
import be.boulevart.as3.security.Encryption;
import be.boulevart.as3.security.EncryptionTypes;

public class as3_cryptdemo extends MovieClip {

protected var e:Encryption;
protected var theKey:String = “you’ll never guess”;
protected var str:String = “My super secret string”;

public function as3_cryptdemo()
{
trace(”String before encryption: ” + str + “\n”);

//RC4 encryption
e = new Encryption(EncryptionTypes.RC4(), str , this.theKey, null, null, null);
e.encrypt();
trace(”String after RC4 encryption: ” + e.getInput());
e.decrypt();
trace(”String after RC4 decryption: ” + e.getInput() + “\n”);

//Base8 encryption
e = new Encryption(EncryptionTypes.Base8(), str , null, null, null, null);
e.encode();
trace(”String after Base8 encoding: ” + e.getInput());
e.decode();
trace(”String after Base8 decoding: ” + e.getInput() + “\n”);

//Base64 encryption
e = new Encryption(EncryptionTypes.Base64(), str , null, null, null, null);
e.encode();
trace(”String after Base64 encoding: ” + e.getInput());
e.decode();
trace(”String after Base64 decoding: ” + e.getInput() + “\n”);

//Goauld calculation
e = new Encryption(EncryptionTypes.Goauld(), str , null, null, null, null);
e.calculate();
trace(”String after Goauld calculation: ” + e.getInput() + “\n”);

//MD5 calculation
e = new Encryption(EncryptionTypes.MD5(), str , null, null, null, null);
e.calculate();
trace(”String after MD5 calculation: ” + e.getInput() + “\n”);

//ROT13 calculation
e = new Encryption(EncryptionTypes.ROT13(), str , null, null, null, null);
e.calculate();
trace(”String after ROT13 calculation: ” + e.getInput() + “\n”);

//SHA1 calculation
e = new Encryption(EncryptionTypes.SHA1(), str , null, null, null, null);
e.calculate();
trace(”String after SHA1 calculation: ” + e.getInput() + “\n”);

//LZW compression
/*e = new Encryption(EncryptionTypes.LZW(), str , null, null, null, null);
e.compress();
trace(”String after LZW compression: ” + e.getInput());
e.decompress();
trace(”String after LZW decompression: ” + e.getInput() + “\n”);*/

//TEA encryption
e = new Encryption(EncryptionTypes.TEA(), str , this.theKey, null, null, null);
e.encrypt();
trace(”String after TEA encryption: ” + e.getInput());
e.decrypt();
trace(”String after TEA decryption: ” + e.getInput() + “\n”);

//Rijndael encryption
e = new Encryption(EncryptionTypes.Rijndael(), str , this.theKey, “CBC”, 256, 256);
e.encryptRijndael();
trace(”String after Rijndael encryption: ” + e.getInput());
e.decryptRijndael();
trace(”String after Rijndael decryption: ” + e.getInput() + “\n”);
}
}
}

Full original AS2 example:

import be.boulevart.as2.security.Encryption;
import be.boulevart.as2.security.EncryptionTypes;

class be.boulevart.as2.as2_cryptdemo extends MovieClip
{
private var e:Encryption;
private var theKey:String = “you’ll never guess”;
private var str:String = “My super secret string”;

public function as2_cryptdemo()
{
trace(”String before encryption: ” + str + “\n”);

//RC4 encryption
e = new Encryption(EncryptionTypes.RC4(), str , this.theKey, null, null, null);
e.encrypt();
trace(”String after RC4 encryption: ” + e.getInput());
e.decrypt();
trace(”String after RC4 decryption: ” + e.getInput() + “\n”);

//Base8 encryption
e = new Encryption(EncryptionTypes.Base8(), str , null, null, null, null);
e.encode();
trace(”String after Base8 encoding: ” + e.getInput());
e.decode();
trace(”String after Base8 decoding: ” + e.getInput() + “\n”);

//Base64 encryption
e = new Encryption(EncryptionTypes.Base64(), str , null, null, null, null);
e.encode();
trace(”String after Base64 encoding: ” + e.getInput());
e.decode();
trace(”String after Base64 decoding: ” + e.getInput() + “\n”);

//Goauld calculation
e = new Encryption(EncryptionTypes.Goauld(), str , null, null, null, null);
e.calculate();
trace(”String after Goauld calculation: ” + e.getInput() + “\n”);

//MD5 calculation
e = new Encryption(EncryptionTypes.MD5(), str , null, null, null, null);
e.calculate();
trace(”String after MD5 calculation: ” + e.getInput() + “\n”);

//ROT13 calculation
e = new Encryption(EncryptionTypes.ROT13(), str , null, null, null, null);
e.calculate();
trace(”String after ROT13 calculation: ” + e.getInput() + “\n”);

//SHA1 calculation
e = new Encryption(EncryptionTypes.SHA1(), str , null, null, null, null);
e.calculate();
trace(”String after SHA1 calculation: ” + e.getInput() + “\n”);

//LZW compression
e = new Encryption(EncryptionTypes.LZW(), str , null, null, null, null);
e.compress();
trace(”String after LZW compression: ” + e.getInput());
e.decompress();
trace(”String after LZW decompression: ” + e.getInput() + “\n”);

//TEA encryption
e = new Encryption(EncryptionTypes.TEA(), str , this.theKey, null, null, null);
e.encrypt();
trace(”String after TEA encryption: ” + e.getInput());
e.decrypt();
trace(”String after TEA decryption: ” + e.getInput() + “\n”);

//Rijndael encryption
e = new Encryption(EncryptionTypes.Rijndael(), str , this.theKey, “CBC”, 256, 256);
e.encryptRijndael();
trace(”String after Rijndael encryption: ” + e.getInput());
e.decryptRijndael();
trace(”String after Rijndael decryption: ” + e.getInput() + “\n”);
}
}

Filed under : Actionscript 2,Actionscript 3,Flash CS3,Flash CS4
By admin
On 27 gennaio 2009
At 10:41
Comments : 0
 
 

Flash lite packager for Symbian S60 3rd Edition Platform

SWF2Go Professional enables you to create rich, powerful and engaging Flash Lite applications rapidly by combining the power of Python for S60 and Net60. Making professional class deployment packages is now one-click operation with new redesigned and friendlier user interface.

www.swf2go.com

Filed under : Actionscript 2,Flash CS3,Flash CS4,Flash Lite,MOBILE
By admin
On 18 gennaio 2009
At 19:36
Comments : 0
 
 

Adobe distributable player solution for Flash Lite Application

Distribute in a more simple way your mobile solution

The distributable player solution enables developers to create rich applications for the latest version of Flash Lite and directly distribute their content to millions of open OS smartphones providing a better on-device user experience. The solution mimics the successful Flash Player desktop model of content-triggered downloads for applications (rather than web-browsing). Developers and content providers no longer need to worry about whether the device has the latest Flash Lite runtime.

Original Links:

http://www.adobe.com/devnet/devices/index.html?navID=sell

Filed under : Flash CS3,Flash CS4,Flash Lite,MOBILE
By admin
On
At 19:34
Comments :Commenti disabilitati
 
 

Building an external XML-driven photo gallery in Flash Lite 2.0

In this article how to build an external XML-driven photo gallery in Flash Lite 2.0 like show in figures.The focus of this tutorial is primarily on creating the dynamic list that can load multiple numbers of thumbnails and some text, along with some value assigned to each of these text to be manipulated at the runtime.

Final application

Originale Link:

http://www.adobe.com/devnet/devices/articles/xml_photo_gallery.html

Filed under : Flash CS3,Flash CS4,Flash Lite,MOBILE
By admin
On
At 19:27
Comments : 0
 
 

Actionscript 3 MySql Driver – asSQL

asSQL is an Actionscript 3 Mysql Driver aimed towards AIR projects to allow Mysql database connectivity directly from Actionscript.

download from code.google.com

How to Use – example 1:

import com.maclema.mysql.Statement;
import com.maclema.mysql.Connection;
import com.maclema.mysql.ResultSet;
import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import com.maclema.mysql.MySqlToken;
import com.maclema.util.ResultsUtil;

//The MySql Connection
private var con:Connection;

private function onCreationComplete():void {
con = new Connection(“localhost”, 3306, “root”, “”, “assql-test”);
con.addEventListener(Event.CONNECT, handleConnected);
con.connect();
}

private function handleConnected(e:Event):void {
var st:Statement = con.createStatement();

var token:MySqlToken = st.executeQuery(“SELECT * FROM employees”);

token.addResponder(new AsyncResponder(
function(data:Object, token:Object):void {
var rs:ResultSet = ResultSet(data);
Alert.show(“Found ” + rs.size() + ” employees!”);
},

function(info:Object, token:Object):void {
Alert.show(“Error: ” + info);
},

token
));
}

How to Use example 2:

import com.maclema.mysql.Statement;
import com.maclema.mysql.Connection;
import com.maclema.mysql.ResultSet;
import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import com.maclema.mysql.MySqlToken;
import com.maclema.util.ResultsUtil;

//The MySql Connection
private var con:Connection;

private function onCreationComplete():void {
con = new Connection(“localhost”, 3306, “root”, “”, “assql-test”);
con.addEventListener(Event.CONNECT, handleConnected);
con.connect();
}

private function handleConnected(e:Event):void {
getAllEmployees();
}

private function getAllEmployees():void {
var st:Statement = con.createStatement();

var token:MySqlToken = st.executeQuery(“SELECT * FROM employees”);
token.info = “GetAllEmployees”;
token.addResponder(new AsyncResponder(result, fault, token));
}

private function getEmployee(employeeID:int):void {
var st:Statement = con.createStatement();
st.sql = “SELECT * FROM employees WHERE employeeID = ?”;
st.setNumber(1, employeeID);

var token:MySqlToken = st.executeQuery();
token.info = “GetEmployee”;
token.employeeID = employeeID;
token.addResponder(new AsyncResponder(result, fault, token));
}

private function result(data:Object, token:Object):void {
var rs:ResultSet;

if ( token.info == “GetAllEmployees” ) {
rs = ResultSet(data);
Alert.show(“Found ” + rs.size() + ” employees!”);
}
else if ( token.info == “GetEmployee” ) {
rs = ResultSet(data);
if ( rs.next() ) {
Alert.show(“Employee ” + token.employeeID + ” username is ‘” + rs.getString(“username”) + “‘”);
}
else {
Alert.show(“No such employee for id ” + token.employeeID);
}
}
}

private function fault(info:Object, token:Object):void {
Alert.show(token.info + ” Error: ” + info);
}

Filed under : AIR,Flash CS3,Flex,RIA
By admin
On 12 gennaio 2009
At 20:46
Comments :Commenti disabilitati