Adobe Air (wiwobooks.com Release)
Kleinbuchstaben, Großbuchstaben und Ziffer/Zeichen 3. Optional: Aufruf der EncryptionKeyGenerator -Instanzmethode validateStrongPassword()
4. Aufruf der EncryptionKeyGenerator -Instanzmethode getEncryptionKey() und Speichern des Rückgabewerts in einer neuen ByteArray -Instanz
Voraussetzung
Das Projekt as3corelib muss in das Projekt einbezogen worden sein (siehe Abschnitt 3.5.1).
Stolperfallen/Caveats
Sie sollten bei der Verwendung von verschlüsselten Inhalten nach Möglichkeit vermeiden, den Schlüssel nach der Erstellung zwischenzuspeichern, da dies ein potenzielles Sicherheitsrisiko bedeutet. Wenn Sie das Kennwort vom Benutzer erstellen lassen, sollten Sie diesen das Kennwort bei jeder neuerlichen Benutzung erneut eingeben lassen.
So geht es
Der folgende Quelltextausschnitt zeigt die Verwendung der EncryptionKeyGenerator -Klasse zur Erstellung eines sicheren Schlüssels:
import com.adobe.air.crypto.EncryptionKeyGenerator;
import flash.utils.ByteArray;
var keyGenerator:EncryptionKeyGenerator = new EncryptionKeyGenerator(); var password:String = " " ;
// Kennwort von Benutzer oder entfernter Quelle holen
if(keyGenerator.validateStrongPassword(password)) {
var key:ByteArray = keyGenerator.getEncryptionKey(password); }
else {
// Fehlermeldung: Kennwort nicht ausreichend
}
Listing 14.3 Beispiel: sicheren Schlüssel mit EncryptionKeyGenerator erstellen
AIR-Anwendungen leben auf Ihrem Desktop und sind so in den Kontext Ihres Betriebssystems eingebettet. Was liegt da näher, als den Benutzern einer AIR-Anwendung eine Möglichkeit zu geben, auf intuitive Art mit anderen Anwendungen des Betriebssystems zu kommunizieren?
15 Mit anderen Anwendungen kommunizieren
Webanwendungen im Browser sind aus Prinzip auf den Browser beschränkt, die Interaktion mit anderen Webanwendungen ist abgesehen von Links nur beschränkt möglich, mit anderen Anwendungen außerhalb des Browsers schon gar nicht (wenn man einmal von Plugins und Applets absieht, die dieses Prinzip aufweichen). AIR-Anwendungen verfügen demgegenüber als Desktopanwendungen über einen anderen »Vertrag« mit dem Benutzer, wie in der Einführung schon festgestellt wurde. Daher ist eine Interaktion mit dem Betriebssystem nicht nur möglich, sondern bisweilen auch ausdrücklich erwünscht. Schließlich kommt es oft vor, dass man eine Information von einer Anwendung einmal schnell in eine andere Anwendung kopieren möchte und sich die Finger dazu schon fast wie von selbst an die Tastenkombinationen (Strg) + (C) und (Strg) + (V) ((°) + (C) und (°) + (V) unter Mac OS X) gewöhnt haben, mit der Daten oder Objekte von einer Anwendung in eine andere kopiert werden können. Diese Funktionalität wird bei Webanwendungen sogar vom Browser übernommen und sollte bei einer AIRAnwendung nicht fehlen. Und schließlich zählt zum intuitiven Umgang mit einem Programm auch, dass Benutzer von einer Anwendung erwarten, mit passenden Dateien umgehen zu können, die in die Anwendung per Drag & Drop »hineingezogen« werden (das gilt insbesondere für Mac-Benutzer).
15.1 Zwischenablage
AIR verfügt über eine API, mit der Sie auf die Zwischenablage des Betriebssystems zugreifen können. Diese API steht seit der Veröffentlichung von Flash Player 10 auch für Webanwendungen zur Verfügung. Die Implementierung dieser Funktion in AIR unterscheidet sich von der für den Flash Player naheliegenderweise in der Art der »transportierbaren« Daten. Folgende Datenformate können mithilfe der Zwischenablage in eine AIR-Anwendung oder aus ihr heraus übertragen werden:
Text
Text im HTML-Format
Text im Rich-Text-Format
URLs
Dateien (das heißt File -Objekte)
Bilder (das heißt BitmapData -Objekte)
serialisierte Objekte
Referenzen auf Objekte anderer Anwendungen (OLE)
Das Konzept der Zwischenablage ist in ActionScript durch die Klasse Clipboard repräsentiert, die Zwischenablage selbst als statische Eigenschaft generalClipboard der Clipboard -Klasse. Die Art der zu speichernden Daten wird mithilfe Konstanten der Klasse ClipboardFormats festgelegt. Tabelle 15.1 gibt einen Überblick über die möglichen Werte für das Datenformat, z. B. die Konstanten der ClipboardFormats -Klasse.
Konstante
ClipboardFormats. BITMAP_FORMAT
ClipboardFormats. FILE_LIST_FORMAT
ClipboardFormats. HTML_FORMAT
ClipboardFormats. RICH_TEXT_FORMAT
ClipboardFormats. TEXT_FORMAT
ClipboardFormats. URL_FORMAT
beliebige Zeichenkette
Datentyp
Bilddaten in einem
ByteArray
ein Array mit File -
Objekten
als HTML
Weitere Kostenlose Bücher