3
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
4
<!--All rights reserved.-->
5
<!--See the file LICENSE for redistribution information.-->
8
<title>Berkeley DB: Db::set_encrypt</title>
9
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
10
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
13
<a name="2"><!--meow--></a>
14
<table width="100%"><tr valign=top>
16
<h1>Db::set_encrypt</h1>
19
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
24
#include <db_cxx.h>
27
Db::set_encrypt(const char *passwd, u_int32_t flags);
30
<p>Set the password used by the <a href="../api_cxx/env_class.html">DbEnv</a> and <a href="../api_cxx/db_class.html">Db</a> methods to
31
perform encryption and decryption.
32
<p>The <b>flags</b> value must be set to 0 or
35
<p><dt><a name="DB_ENCRYPT_AES">DB_ENCRYPT_AES</a><dd>Use the Rijndael/AES (also known as the Advanced Encryption Standard
36
and Federal Information Processing Standard (FIPS) 197) algorithm for
37
encryption or decryption.
39
<p>Because databases opened within Berkeley DB environments use the password
40
specified to the environment, it is an error to attempt to set a
41
password in a database created within an environment.
42
<p>The Db::set_encrypt interface may not be called after the <a href="../api_cxx/db_open.html">Db::open</a>
44
<p>The Db::set_encrypt method either returns a non-zero error value or throws an exception that
45
encapsulates a non-zero error value on failure, and returns 0 on success.
47
<p>The Db::set_encrypt method may fail and throw an exception or return a non-zero error for the following conditions:
49
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
51
<a href="../api_cxx/db_open.html">Db::open</a>
55
<p><dt>EOPNOTSUPP<dd>Cryptography is not available in this Berkeley DB release.
57
<p>The Db::set_encrypt method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods.
58
If a catastrophic error has occurred, the Db::set_encrypt method may fail and
59
either return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a> or throw a
60
<a href="../api_cxx/runrec_class.html">DbRunRecoveryException</a>,
61
in which case all subsequent Berkeley DB calls will fail in the same way.
63
<a href="../api_cxx/db_class.html">Db</a>
65
<a href="../api_cxx/db_list.html">Databases and Related Methods</a>
67
<table width="100%"><tr><td><br></td><td align=right>
68
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
70
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>