15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit lokalen SQL-Datenbanken in AIR<br />

Im folgenden Beispiel wird das Öffnen einer verschlüsselten Datenbank im synchronen Ausführungsmodus<br />

beschrieben. Der Einfachheit halber ist der Verschlüsselungsschlüssel in diesem Beispiel im Anwendungscode fest<br />

vorgegeben. Von dieser Methode wird jedoch dringend abgeraten, da sie nicht sicher ist.<br />

import flash.data.SQLConnection;<br />

import flash.data.SQLMode;<br />

import flash.filesystem.File;<br />

var conn:SQLConnection = new SQLConnection();<br />

var dbFile:File = File.applicationStorageDirectory.resolvePath("DBSample.db");<br />

var encryptionKey:ByteArray = new ByteArray();<br />

encryptionKey.writeUTFBytes("Some16ByteString"); // This technique is not secure!<br />

try<br />

{<br />

conn.open(dbFile, SQLMode.UPDATE, false, 1024, encryptionKey);<br />

trace("the database was created successfully");<br />

}<br />

catch (error:SQLError)<br />

{<br />

if (error.errorID == 3138)<br />

{<br />

trace("Incorrect encryption key");<br />

}<br />

else<br />

{<br />

trace("Error message:", error.message);<br />

trace("Details:", error.details);<br />

}<br />

}<br />

Ein Beispiel für das empfohlene Verfahren zum Generieren eines Verschlüsselungsschlüssels finden Sie unter<br />

„Beispiel: Generieren und Verwenden von Verschlüsselungsschlüsseln“ auf Seite 808.<br />

Ändern des Verschlüsselungsschlüssels einer Datenbank<br />

Adobe AIR 1.5 und höher<br />

Wenn eine Datenbank verschlüsselt ist, können Sie den Verschlüsselungsschlüssel auch zu einem späteren Zeitpunkt<br />

ändern. Um den Verschlüsselungsschlüssel einer Datenbank zu ändern, öffnen Sie zunächst eine Verbindung mit der<br />

Datenbank, indem Sie eine SQLConnection-Instanz erstellen und ihre open()- oder openAsync()-Methode<br />

aufrufen. Wenn die Verbindung zur Datenbank hergestellt wurde, rufen Sie die reencrypt()-Methode auf und<br />

übergeben den neuen Verschlüsselungsschlüssel als Argument.<br />

Wie bei den meisten Datenbankoperationen richtet sich das Verhalten der reencrypt()-Methode danach, ob die<br />

Datenbankverbindung den synchronen oder den asynchronen Ausführungsmodus verwendet. Wenn Sie die<br />

Verbindung zur Datenbank mit der open()-Methode herstellen, wird die reencrypt()-Operation synchron<br />

ausgeführt. Wenn die Operation abgeschlossen ist, wird die Ausführung mit der nächsten Codezeile fortgesetzt:<br />

var newKey:ByteArray = new ByteArray();<br />

// ... generate the new key and store it in newKey<br />

conn.reencrypt(newKey);<br />

Letzte Aktualisierung 27.6.2012<br />

806

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!