<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-0747B7D8-86B4-51DE-BC71-7FACE61EB5E2" xml:lang="en"><title>Database
encryption</title><shortdesc>Database data can be encrypted by the DBMS.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>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.</p>
<p>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</p>
<p>It is important to note that encrypting a database has an impact on performance.</p>
<p>The <codeph>RDbStoreDatabase</codeph> and <codeph>RDbNamedDatabase</codeph> classes
provide variants of the <codeph>Create()</codeph> and <codeph>Open()</codeph> functions
that can create and open a secure database. The access key can be changed
using the <codeph>ChangeSecurity()</codeph> member function of the <codeph>RDbDatabase</codeph> base
class.</p>
</conbody></concept>