The SQLite Encryption sample is an encryption/decryption demo.
Table of Contents
You can find the SQLite Encryption sample project at:
- Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to –
Object Pascal\Database\FireDAC\Samples\DBMS Specific\SQLite\Encryption
- Subversion Repository – you can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version.
This sample allows the user to perform the following operations:
- Encrypting the DB using different encryption modes and passwords.
- Changing the DB password of the encrypted database.
- Getting the state of the DB.
- Decrypting the DB.
How to Use the Sample
- Navigate to the location given above and open
- Press F9 or choose Run > Run.
- Click Create in the Create new DB tab to:
- Create an empty and unencrypted database located at: C:\Users\test\AppData\Local\Temp\test.sdb.
- Create an empty table into the new database.
- Populate the table.
- Once the table is added to the database, you can start interacting with the sample.
|File in Delphi||Contains|
|The project itself.|
|The main form.|
The sample implements the following features.
Create new DB
- Create: Creates the database, a table into the database, and populates the table using TFDScript component.
- Drop: Removes the database if exists.
- Encrypt: Encrypts the database according to the Encryption mode and the password provided.
The sampe uses TFDSQLiteSecurity.SetPassword to encrypt the database with the password provided.
The database password is the combination of <encryption algorythm>:<password>.
Change DB pwd
Use this tab to change the password of the encrypted database.
To change the password:
- Get: Returns the database encryption status.
The sample uses TFDSQLiteSecurity.CheckEncryption to request the database encryption status.
- <unencrypted>: The database is unencrypted.
- <encrypted>: The database is encrypted, but the algorythm / password is wrong.
- Encryption algorythm name, and the data from the database: The database is encrypted, and the algorythm / password are correct.
- Decrypt: Removes the password and decrypts the database.
The sample uses TFDSQLiteSecurity.RemovePassword to remove the password and decrypt the database.
For the original post of Embarcadero, please folow the link below: