Database encryption

Database data can be encrypted by the DBMS.

Database data can be encrypted by a key that is generated by the DBMS. Access to this key is protected by encryption and decryption keys that are provided by the client. This allows a client to change (for example) the user password without requiring the entire database to be re-encrypted.

It is not possible to turn a secure database into a plain-text database and vice-versa—this can only be done by copying the data from one database to another

It is important to note that encrypting a database has an impact on performance.

The RDbStoreDatabase and RDbNamedDatabase classes provide variants of the Create() and Open() functions that can create and open a secure database. The access key can be changed using the ChangeSecurity() member function of the RDbDatabase base class.