Database encryption and obfuscation

You can encrypt or obfuscate your UltraLite database using UltraLite for M-Business Anywhere.

For more information about database encryption, see Securing UltraLite databases.

Encryption

UltraLite databases may be unencrypted or may employ either encryption or obfuscation. If you want the database to be encrypted or obfuscated that choice must be made when the database is created.

Encryption of an UltraLite database uses extremely strong industry-standard techniques to encrypt the data in the database. The encryption is based on a key phrase that is specified when the database is created. This key phrase must also be supplied when a connection is made to the database.

If an UltraLite database is encrypted, all connections to that database must specify the correct encryption key or the connection attempt fails.

For more information about the EncryptionKey property, see ConnectionParms class and changeEncryptionKey method.

Obfuscation

Obfuscation is a very weak form of encryption that simply masks the data in the database to discourage casual observation of the contents of the database by file or disk viewer programs. To obfuscate the database, set the creationParms.obfuscate boolean value to true. For example:

var create_parms = dbMgr.createCreationParms();
create_parms.obfuscate = true;
Example

You can change the encryption key by specifying a new encryption key on the Connection object. Before calling the changeEncryptionKey method, the application must make a connection to the encrypted database using the existing encryption key. In the following example code, "apricot" is the new encryption key.

conn.changeEncryptionKey("apricot")