Database data can be encrypted by a key that is generated by 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.