Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » UltraLiteJ » UltraLiteJ verwenden » UltraLiteJ-Anwendungen entwickeln

 

Daten verschlüsseln und verschleiern

Die in UltraLiteJ-Datenbanken gespeicherten Daten sind standardmäßig nicht verschlüsselt. Sie können unter Verwendung der API Daten verschlüsseln oder verschleiern. Die Verschlüsselung sorgt für eine sichere Repräsentation der Daten, während die Verschleierung eine einfache Sicherheitsebene darstellt, die ein zufälliges Anzeigen des Datenbankinhalts verhindern soll.

 ♦  So verschlüsseln oder verschleiern Sie Daten in der Datenbank
  1. Erstellen Sie eine Klasse, die die EncryptionControl-Schnittstelle implementiert.

    Das folgende Beispiel erstellt eine neue Klasse, Encryptor, die die encryption-Schnittstelle implementiert.

    static class Encryptor
        implements EncryptionControl
    {
  2. Implementieren Sie die initialize-, encrypt- und decrypt-Methoden in der neuen Klasse.

    Ihre Klasse sollte wie folgt aussehen:



    static class Encryptor
        implements EncryptionControl
    {
        /** Decrypt a page stored in the database.
         * @param page_no the number of the page being decrypted
         * @param src the encrypted source page which was read from the database
         * @param tgt the decrypted page (filled in by method)
         */
        public void decrypt( int page_no, byte[] src, byte[] tgt )
            throws ULjException
        {
            // Your decryption method goes here.
        }
        
        /** Encrypt a page stored in the database.
         * @param page_no the number of the page being encrypted
         * @param src the unencrypted source
         * @param tgt the encrypted target page which will be written to the database (filled in by method)
         */
        public void encrypt( int page_no, byte[] src, byte[] tgt )
            throws ULjException
        {
            // Your encryption method goes here.
        }
        
        /** Initialize the encryption control with a password.
         * @param password the password
         */
        public void initialize(String password)
            throws ULjException
        {
            // Your initialization method goes here.
        }
    }

    Weitere Hinweise zur EncryptionControl-Methode finden Sie unter EncryptionControl-Schnittstelle.

  3. Konfigurieren Sie die Datenbank für die Verwendung Ihrer neuen Klasse zur Verschlüsselungssteuerung.

    Sie können die Verschlüsselungssteuerung mit der setEncryption-Methode festlegen. Im folgenden Beispiel wird angenommen, dass Sie ein neues Configuration-Objekt erstellt haben, das den Namen der Datenbank referenziert:

    config.setEncryption(new Encryptor());
  4. Stellen Sie eine Verbindung zur Datenbank her.

    Alle Daten, die der Datenbank hinzugefügt oder in ihr geändert wurden, sind nun verschlüsselt.

Hinweis

Verschlüsselung und Verschleierung stehen für nicht-beständige Datenbankspeicher nicht zur Verfügung.

 Siehe auch