SQLiteDatabase.EncryptionKey
From Xojo Documentation
Property (As String )
aSQLiteDatabase.EncryptionKey = newStringValue
or
StringValue = aSQLiteDatabase.EncryptionKey
Supported for all project types and targets.
or
StringValue = aSQLiteDatabase.EncryptionKey
Supported for all project types and targets.
Specifies the encryption key used to create or connect to an encrypted database.
Notes
You cannot encrypt a database from within a transaction. You must encrypt it outside of any transactions. |
To encrypt a new database, specify this value before calling CreateDataBaseFile.
To connect to an encrypted database, specify this value before calling Database.Connect.
To encrypt an existing database, use the Encrypt method.
2017r3 and prior: AES-128 encryption is always used.
2018r1 and later defaults to AES-128, but AES-256 can also be used by including the prefix "aes256:" before the rest of the encryption key.
Sample Code
This code supplies EncryptionKey before attempting to connect to an encrypted database:
Var dbFile As New FolderItem("MyDB.sqlite")
Var db As New SQLiteDatabase
db.DatabaseFile = dbFile
db.EncryptionKey = "horse+20$"
Try
db.Connect
// Key was correct; DB is connected
MessageBox("Connected to database.")
Catch error As DatabaseException
// Connection error. This could be because the key is wrong or other reasons
MessageBox("Connection error: " + error.Message)
End Try
Var db As New SQLiteDatabase
db.DatabaseFile = dbFile
db.EncryptionKey = "horse+20$"
Try
db.Connect
// Key was correct; DB is connected
MessageBox("Connected to database.")
Catch error As DatabaseException
// Connection error. This could be because the key is wrong or other reasons
MessageBox("Connection error: " + error.Message)
End Try