[#wallet-CCrypter]
= xref:wallet.adoc[wallet]::CCrypter
:relfileprefix: ../
:mrdocs:

Encryption&sol;decryption context with key information

== Synopsis

Declared in `&lt;wallet&sol;crypter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class CCrypter;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:wallet/CCrypter/2constructor.adoc[`CCrypter`]         [.small]#[constructor]#
| Constructs an unset crypter with buffers sized for the key and IV&period;
| xref:wallet/CCrypter/2destructor.adoc[`&#126;CCrypter`] [.small]#[destructor]#
| Wipes the key material from memory on destruction&period;
| xref:wallet/CCrypter/CleanKey.adoc[`CleanKey`] 
| Wipes the key and IV from memory and marks the context as unset&period;
| xref:wallet/CCrypter/Decrypt.adoc[`Decrypt`] 
| Decrypts ciphertext into key material with the configured key and IV&period;
| xref:wallet/CCrypter/Encrypt.adoc[`Encrypt`] 
| Encrypts plaintext key material with the configured key and IV&period;
| xref:wallet/CCrypter/SetKey.adoc[`SetKey`] 
| Sets the encryption key and IV directly&period;
| xref:wallet/CCrypter/SetKeyFromPassphrase.adoc[`SetKeyFromPassphrase`] 
| Derives the encryption key and IV from a passphrase and salt&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:wallet/wallet_crypto_tests/TestCrypter.adoc[wallet::wallet&lowbar;crypto&lowbar;tests::TestCrypter]`
| Test fixture granting access to CCrypter internals&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
