1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>Heimdal crypto library: EVP generic crypto functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.5.6 -->
12<div class="navigation" id="top">
13  <div class="tabs">
14    <ul>
15      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
16      <li><a href="modules.html"><span>Modules</span></a></li>
17      <li><a href="examples.html"><span>Examples</span></a></li>
18    </ul>
19  </div>
20</div>
21<div class="contents">
22<h1>EVP generic crypto functions</h1><table border="0" cellpadding="0" cellspacing="0">
23<tr><td></td></tr>
24<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
25<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g769121c112a501748233bda8345cb47a">EVP_wincrypt_des_ede3_cbc</a> (void)</td></tr>
26
27<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g2decf06c0d9b08e364e9c4c8f4d3a7a3">EVP_hcrypto_aes_128_cbc</a> (void)</td></tr>
28
29<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g16b21d9262c4af37121b0e85cc83b555">EVP_hcrypto_aes_192_cbc</a> (void)</td></tr>
30
31<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g49b683aa07c039ad31d7e498c87ad95f">EVP_hcrypto_aes_256_cbc</a> (void)</td></tr>
32
33<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g44eb080ab987799883eae8e64970be6c">EVP_hcrypto_aes_128_cfb8</a> (void)</td></tr>
34
35<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g532a6f5c56334ccf8615791bfaef041d">EVP_hcrypto_aes_192_cfb8</a> (void)</td></tr>
36
37<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4f7c34086cea5e4da92f56d543ec24bf">EVP_hcrypto_aes_256_cfb8</a> (void)</td></tr>
38
39<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g12b7608ec40d059f5539fd24277baae0">EVP_hcrypto_sha256</a> (void)</td></tr>
40
41<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc002bcb2cc8ee9bb58b5924ab0bc3533">EVP_hcrypto_sha384</a> (void)</td></tr>
42
43<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gef3c401b9d2e696f89f27335f4b261e2">EVP_hcrypto_sha512</a> (void)</td></tr>
44
45<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5dc409fc540bad0751b96b3f74185477">EVP_hcrypto_sha1</a> (void)</td></tr>
46
47<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3c7a8676a690817ec03d71568a7deb1b">EVP_hcrypto_md5</a> (void)</td></tr>
48
49<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4456dfa7c2f23830fa32b99969720719">EVP_hcrypto_md4</a> (void)</td></tr>
50
51<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g89d756ccb4919c5102481da488b86aaa">EVP_hcrypto_md2</a> (void)</td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g0cc4edf9d19ebf7198e33ac0c8138f04">EVP_hcrypto_des_cbc</a> (void)</td></tr>
54
55<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g1c0e19f28dc594d929f089721e737237">EVP_hcrypto_des_ede3_cbc</a> (void)</td></tr>
56
57<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc238450b802f4e0c78752ef1ba1198e9">EVP_hcrypto_rc2_cbc</a> (void)</td></tr>
58
59<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g35d681a86e0ed71b505b53e5fc199ed5">EVP_hcrypto_rc2_40_cbc</a> (void)</td></tr>
60
61<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb7534f69db09cd76e4c36703a9340212">EVP_hcrypto_rc2_64_cbc</a> (void)</td></tr>
62
63<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g68deec0ffc93c0dcd83db0478e72d5b8">EVP_hcrypto_camellia_128_cbc</a> (void)</td></tr>
64
65<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gfd6acecc697a1f9516909ca228cb54e5">EVP_hcrypto_camellia_192_cbc</a> (void)</td></tr>
66
67<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g211f7122bdeeb3551dcd02c37a7a11e6">EVP_hcrypto_camellia_256_cbc</a> (void)</td></tr>
68
69<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size</a> (const EVP_MD *md)</td></tr>
70
71<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g48ccb698903828660dc1722d31311420">EVP_MD_block_size</a> (const EVP_MD *md)</td></tr>
72
73<tr><td class="memItemLeft" nowrap align="right" valign="top">EVP_MD_CTX *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create</a> (void)</td></tr>
74
75<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3fd216754cf705b7d4980744b1508410">EVP_MD_CTX_init</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
76
77<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy</a> (EVP_MD_CTX *ctx)</td></tr>
78
79<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
80
81<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ged3480025ecf31d0afcb62174d6acc24">EVP_MD_CTX_md</a> (EVP_MD_CTX *ctx)</td></tr>
82
83<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g25a51444f0586be1494f78e4e17e65f8">EVP_MD_CTX_size</a> (EVP_MD_CTX *ctx)</td></tr>
84
85<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb35a28f548e64c74dbfd7198c04dad5d">EVP_MD_CTX_block_size</a> (EVP_MD_CTX *ctx)</td></tr>
86
87<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex</a> (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)</td></tr>
88
89<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g12039fea1f371ef39a489d450f564338">EVP_DigestUpdate</a> (EVP_MD_CTX *ctx, const void *data, size_t size)</td></tr>
90
91<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex</a> (EVP_MD_CTX *ctx, void *hash, unsigned int *size)</td></tr>
92
93<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb785fa9dd0a45be223a0d576af062c4b">EVP_Digest</a> (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)</td></tr>
94
95<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gfe55e56742a9b9ecffdaef7e95a6707a">EVP_sha256</a> (void)</td></tr>
96
97<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g031405a10c84711b9a9699fadc8dbf2a">EVP_sha384</a> (void)</td></tr>
98
99<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gceda0d5da59b56159d2e3515039a46ce">EVP_sha512</a> (void)</td></tr>
100
101<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga090d659a494a10525e38d272efb01ae">EVP_sha1</a> (void)</td></tr>
102
103<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gee62cb107a208bd6984dd767f9feb8c0">EVP_sha</a> (void)</td></tr>
104
105<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3ccaad2c97f5cf27adb461b1b50aeabb">EVP_md5</a> (void)</td></tr>
106
107<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gd232ca5dcef4ec58b182cb967f519999">EVP_md4</a> (void)</td></tr>
108
109<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4b583f3de5fc66b04f675428da25efd0">EVP_md2</a> (void)</td></tr>
110
111<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5183830cf039ea4d9a2c1bd3c539e9af">EVP_md_null</a> (void)</td></tr>
112
113<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a> (const EVP_CIPHER *c)</td></tr>
114
115<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a> (const EVP_CIPHER *c)</td></tr>
116
117<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a> (const EVP_CIPHER *c)</td></tr>
118
119<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a> (EVP_CIPHER_CTX *c)</td></tr>
120
121<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a> (EVP_CIPHER_CTX *c)</td></tr>
122
123<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc4d29d4bc3473f2499cfa83f0201386c">EVP_CIPHER_CTX_set_key_length</a> (EVP_CIPHER_CTX *c, int length)</td></tr>
124
125<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4018621241b76f106903263614967aff">EVP_CIPHER_CTX_cipher</a> (EVP_CIPHER_CTX *ctx)</td></tr>
126
127<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g9eaa8ae82fd5550771c4dfed92d82d5b">EVP_CIPHER_CTX_block_size</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
128
129<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gd9a4a54b9b5d0b6035c7522ca461a9db">EVP_CIPHER_CTX_key_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
130
131<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge160dd334fea8b844a4ef8a2ed5fbb0b">EVP_CIPHER_CTX_iv_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
132
133<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6f8b7130068dbc4f03fb2cf65cee02bf">EVP_CIPHER_CTX_flags</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
134
135<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc8013ca93e9b1ed25df3f535eb633f1a">EVP_CIPHER_CTX_mode</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
136
137<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g0f78fd8ac0fa0765245e373d42fc90e3">EVP_CIPHER_CTX_get_app_data</a> (EVP_CIPHER_CTX *ctx)</td></tr>
138
139<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4fa322f7c3fe5fc570b8343d4d64fc52">EVP_CIPHER_CTX_set_app_data</a> (EVP_CIPHER_CTX *ctx, void *data)</td></tr>
140
141<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a> (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)</td></tr>
142
143<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)</td></tr>
144
145<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen)</td></tr>
146
147<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g70a05495ee115c6eb26d958a5ac75c8b">EVP_enc_null</a> (void)</td></tr>
148
149<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc7d0f7590921dde70bebeebadd2fec36">EVP_rc2_cbc</a> (void)</td></tr>
150
151<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g104bcd969bcc30dc3e7e77d63a38a87e">EVP_rc2_40_cbc</a> (void)</td></tr>
152
153<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g09cd194a211931839f1e7bb8e578099e">EVP_rc2_64_cbc</a> (void)</td></tr>
154
155<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g9cb683240f384ddbd0f3279960af93ba">EVP_rc4</a> (void)</td></tr>
156
157<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge5cbdfcb5012a07fec8df1d6b9c5d772">EVP_rc4_40</a> (void)</td></tr>
158
159<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g8ba85e78fac7521ad71cb29ef62beab9">EVP_des_cbc</a> (void)</td></tr>
160
161<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g191c1d946437661ee23de2ad9b3383e3">EVP_des_ede3_cbc</a> (void)</td></tr>
162
163<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a> (void)</td></tr>
164
165<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g06625e6b350dcb0d99e05bde8d813867">EVP_aes_192_cbc</a> (void)</td></tr>
166
167<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g597a638984cfe169f5b794a01076d289">EVP_aes_256_cbc</a> (void)</td></tr>
168
169<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g95457efd23f815aaa9d54a39f71bd4f6">EVP_aes_128_cfb8</a> (void)</td></tr>
170
171<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6c566f0f7831881bd835db251372790b">EVP_aes_192_cfb8</a> (void)</td></tr>
172
173<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4bf9f0274a43b3964f1c880900c80ded">EVP_aes_256_cfb8</a> (void)</td></tr>
174
175<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g204d1d59a0ec740ed29ec0ebcc2d9c97">EVP_camellia_128_cbc</a> (void)</td></tr>
176
177<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g40e2b8cba4baa4ec4aa467bbd1defeb7">EVP_camellia_192_cbc</a> (void)</td></tr>
178
179<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6de35c364f330f1decfb3444c4c6fa3c">EVP_camellia_256_cbc</a> (void)</td></tr>
180
181<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gead9b446ac5ebd90dc7be0dbe6aba2b0">EVP_get_cipherbyname</a> (const char *name)</td></tr>
182
183<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g25d3fb64e10e2c494858de14fc5d79b3">EVP_BytesToKey</a> (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)</td></tr>
184
185</table>
186<hr><a name="_details"></a><h2>Detailed Description</h2>
187See the <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for description and examples. <hr><h2>Function Documentation</h2>
188<a class="anchor" name="g2747bac943db15c97167ac37fdc2af43"></a><!-- doxytag: member="evp.c::EVP_aes_128_cbc" ref="g2747bac943db15c97167ac37fdc2af43" args="(void)" -->
189<div class="memitem">
190<div class="memproto">
191      <table class="memname">
192        <tr>
193          <td class="memname">const EVP_CIPHER* EVP_aes_128_cbc           </td>
194          <td>(</td>
195          <td class="paramtype">void&nbsp;</td>
196          <td class="paramname">          </td>
197          <td>&nbsp;)&nbsp;</td>
198          <td></td>
199        </tr>
200      </table>
201</div>
202<div class="memdoc">
203
204<p>
205The AES-128 cipher type<p>
206<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
207<dl compact><dt><b>Examples: </b></dt><dd>
208<a class="el" href="example__evp__cipher_8c-example.html#a0">example_evp_cipher.c</a>.</dl>
209</div>
210</div><p>
211<a class="anchor" name="g95457efd23f815aaa9d54a39f71bd4f6"></a><!-- doxytag: member="evp.c::EVP_aes_128_cfb8" ref="g95457efd23f815aaa9d54a39f71bd4f6" args="(void)" -->
212<div class="memitem">
213<div class="memproto">
214      <table class="memname">
215        <tr>
216          <td class="memname">const EVP_CIPHER* EVP_aes_128_cfb8           </td>
217          <td>(</td>
218          <td class="paramtype">void&nbsp;</td>
219          <td class="paramname">          </td>
220          <td>&nbsp;)&nbsp;</td>
221          <td></td>
222        </tr>
223      </table>
224</div>
225<div class="memdoc">
226
227<p>
228The AES-128 cipher type<p>
229<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
230
231</div>
232</div><p>
233<a class="anchor" name="g06625e6b350dcb0d99e05bde8d813867"></a><!-- doxytag: member="evp.c::EVP_aes_192_cbc" ref="g06625e6b350dcb0d99e05bde8d813867" args="(void)" -->
234<div class="memitem">
235<div class="memproto">
236      <table class="memname">
237        <tr>
238          <td class="memname">const EVP_CIPHER* EVP_aes_192_cbc           </td>
239          <td>(</td>
240          <td class="paramtype">void&nbsp;</td>
241          <td class="paramname">          </td>
242          <td>&nbsp;)&nbsp;</td>
243          <td></td>
244        </tr>
245      </table>
246</div>
247<div class="memdoc">
248
249<p>
250The AES-192 cipher type<p>
251<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
252
253</div>
254</div><p>
255<a class="anchor" name="g6c566f0f7831881bd835db251372790b"></a><!-- doxytag: member="evp.c::EVP_aes_192_cfb8" ref="g6c566f0f7831881bd835db251372790b" args="(void)" -->
256<div class="memitem">
257<div class="memproto">
258      <table class="memname">
259        <tr>
260          <td class="memname">const EVP_CIPHER* EVP_aes_192_cfb8           </td>
261          <td>(</td>
262          <td class="paramtype">void&nbsp;</td>
263          <td class="paramname">          </td>
264          <td>&nbsp;)&nbsp;</td>
265          <td></td>
266        </tr>
267      </table>
268</div>
269<div class="memdoc">
270
271<p>
272The AES-192 cipher type<p>
273<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
274
275</div>
276</div><p>
277<a class="anchor" name="g597a638984cfe169f5b794a01076d289"></a><!-- doxytag: member="evp.c::EVP_aes_256_cbc" ref="g597a638984cfe169f5b794a01076d289" args="(void)" -->
278<div class="memitem">
279<div class="memproto">
280      <table class="memname">
281        <tr>
282          <td class="memname">const EVP_CIPHER* EVP_aes_256_cbc           </td>
283          <td>(</td>
284          <td class="paramtype">void&nbsp;</td>
285          <td class="paramname">          </td>
286          <td>&nbsp;)&nbsp;</td>
287          <td></td>
288        </tr>
289      </table>
290</div>
291<div class="memdoc">
292
293<p>
294The AES-256 cipher type<p>
295<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
296
297</div>
298</div><p>
299<a class="anchor" name="g4bf9f0274a43b3964f1c880900c80ded"></a><!-- doxytag: member="evp.c::EVP_aes_256_cfb8" ref="g4bf9f0274a43b3964f1c880900c80ded" args="(void)" -->
300<div class="memitem">
301<div class="memproto">
302      <table class="memname">
303        <tr>
304          <td class="memname">const EVP_CIPHER* EVP_aes_256_cfb8           </td>
305          <td>(</td>
306          <td class="paramtype">void&nbsp;</td>
307          <td class="paramname">          </td>
308          <td>&nbsp;)&nbsp;</td>
309          <td></td>
310        </tr>
311      </table>
312</div>
313<div class="memdoc">
314
315<p>
316The AES-256 cipher type<p>
317<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
318
319</div>
320</div><p>
321<a class="anchor" name="g25d3fb64e10e2c494858de14fc5d79b3"></a><!-- doxytag: member="evp.c::EVP_BytesToKey" ref="g25d3fb64e10e2c494858de14fc5d79b3" args="(const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)" -->
322<div class="memitem">
323<div class="memproto">
324      <table class="memname">
325        <tr>
326          <td class="memname">int EVP_BytesToKey           </td>
327          <td>(</td>
328          <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
329          <td class="paramname"> <em>type</em>, </td>
330        </tr>
331        <tr>
332          <td class="paramkey"></td>
333          <td></td>
334          <td class="paramtype">const EVP_MD *&nbsp;</td>
335          <td class="paramname"> <em>md</em>, </td>
336        </tr>
337        <tr>
338          <td class="paramkey"></td>
339          <td></td>
340          <td class="paramtype">const void *&nbsp;</td>
341          <td class="paramname"> <em>salt</em>, </td>
342        </tr>
343        <tr>
344          <td class="paramkey"></td>
345          <td></td>
346          <td class="paramtype">const void *&nbsp;</td>
347          <td class="paramname"> <em>data</em>, </td>
348        </tr>
349        <tr>
350          <td class="paramkey"></td>
351          <td></td>
352          <td class="paramtype">size_t&nbsp;</td>
353          <td class="paramname"> <em>datalen</em>, </td>
354        </tr>
355        <tr>
356          <td class="paramkey"></td>
357          <td></td>
358          <td class="paramtype">unsigned int&nbsp;</td>
359          <td class="paramname"> <em>count</em>, </td>
360        </tr>
361        <tr>
362          <td class="paramkey"></td>
363          <td></td>
364          <td class="paramtype">void *&nbsp;</td>
365          <td class="paramname"> <em>keydata</em>, </td>
366        </tr>
367        <tr>
368          <td class="paramkey"></td>
369          <td></td>
370          <td class="paramtype">void *&nbsp;</td>
371          <td class="paramname"> <em>ivdata</em></td><td>&nbsp;</td>
372        </tr>
373        <tr>
374          <td></td>
375          <td>)</td>
376          <td></td><td></td><td></td>
377        </tr>
378      </table>
379</div>
380<div class="memdoc">
381
382<p>
383Provides a legancy string to key function, used in PEM files.<p>
384New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see <a class="el" href="group__hcrypto__misc.html#gece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a>).<p>
385<dl compact><dt><b>Parameters:</b></dt><dd>
386  <table border="0" cellspacing="2" cellpadding="0">
387    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of cipher to use </td></tr>
388    <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>message digest to use </td></tr>
389    <tr><td valign="top"></td><td valign="top"><em>salt</em>&nbsp;</td><td>salt salt string, should be an binary 8 byte buffer. </td></tr>
390    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the password/input key string. </td></tr>
391    <tr><td valign="top"></td><td valign="top"><em>datalen</em>&nbsp;</td><td>length of data parameter. </td></tr>
392    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>iteration counter. </td></tr>
393    <tr><td valign="top"></td><td valign="top"><em>keydata</em>&nbsp;</td><td>output keydata, needs to of the size <a class="el" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a>. </td></tr>
394    <tr><td valign="top"></td><td valign="top"><em>ivdata</em>&nbsp;</td><td>output ivdata, needs to of the size <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a>.</td></tr>
395  </table>
396</dl>
397<dl class="return" compact><dt><b>Returns:</b></dt><dd>the size of derived key. </dd></dl>
398
399</div>
400</div><p>
401<a class="anchor" name="g204d1d59a0ec740ed29ec0ebcc2d9c97"></a><!-- doxytag: member="evp.c::EVP_camellia_128_cbc" ref="g204d1d59a0ec740ed29ec0ebcc2d9c97" args="(void)" -->
402<div class="memitem">
403<div class="memproto">
404      <table class="memname">
405        <tr>
406          <td class="memname">const EVP_CIPHER* EVP_camellia_128_cbc           </td>
407          <td>(</td>
408          <td class="paramtype">void&nbsp;</td>
409          <td class="paramname">          </td>
410          <td>&nbsp;)&nbsp;</td>
411          <td></td>
412        </tr>
413      </table>
414</div>
415<div class="memdoc">
416
417<p>
418The Camellia-128 cipher type<p>
419<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
420
421</div>
422</div><p>
423<a class="anchor" name="g40e2b8cba4baa4ec4aa467bbd1defeb7"></a><!-- doxytag: member="evp.c::EVP_camellia_192_cbc" ref="g40e2b8cba4baa4ec4aa467bbd1defeb7" args="(void)" -->
424<div class="memitem">
425<div class="memproto">
426      <table class="memname">
427        <tr>
428          <td class="memname">const EVP_CIPHER* EVP_camellia_192_cbc           </td>
429          <td>(</td>
430          <td class="paramtype">void&nbsp;</td>
431          <td class="paramname">          </td>
432          <td>&nbsp;)&nbsp;</td>
433          <td></td>
434        </tr>
435      </table>
436</div>
437<div class="memdoc">
438
439<p>
440The Camellia-198 cipher type<p>
441<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
442
443</div>
444</div><p>
445<a class="anchor" name="g6de35c364f330f1decfb3444c4c6fa3c"></a><!-- doxytag: member="evp.c::EVP_camellia_256_cbc" ref="g6de35c364f330f1decfb3444c4c6fa3c" args="(void)" -->
446<div class="memitem">
447<div class="memproto">
448      <table class="memname">
449        <tr>
450          <td class="memname">const EVP_CIPHER* EVP_camellia_256_cbc           </td>
451          <td>(</td>
452          <td class="paramtype">void&nbsp;</td>
453          <td class="paramname">          </td>
454          <td>&nbsp;)&nbsp;</td>
455          <td></td>
456        </tr>
457      </table>
458</div>
459<div class="memdoc">
460
461<p>
462The Camellia-256 cipher type<p>
463<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
464
465</div>
466</div><p>
467<a class="anchor" name="g3123ff4b426783dd972538249b9e9d4d"></a><!-- doxytag: member="evp.c::EVP_CIPHER_block_size" ref="g3123ff4b426783dd972538249b9e9d4d" args="(const EVP_CIPHER *c)" -->
468<div class="memitem">
469<div class="memproto">
470      <table class="memname">
471        <tr>
472          <td class="memname">size_t EVP_CIPHER_block_size           </td>
473          <td>(</td>
474          <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
475          <td class="paramname"> <em>c</em>          </td>
476          <td>&nbsp;)&nbsp;</td>
477          <td></td>
478        </tr>
479      </table>
480</div>
481<div class="memdoc">
482
483<p>
484Return the block size of the cipher.<p>
485<dl compact><dt><b>Parameters:</b></dt><dd>
486  <table border="0" cellspacing="2" cellpadding="0">
487    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the block size from.</td></tr>
488  </table>
489</dl>
490<dl class="return" compact><dt><b>Returns:</b></dt><dd>the block size of the cipher. </dd></dl>
491<dl compact><dt><b>Examples: </b></dt><dd>
492<a class="el" href="example__evp__cipher_8c-example.html#a3">example_evp_cipher.c</a>.</dl>
493</div>
494</div><p>
495<a class="anchor" name="g9eaa8ae82fd5550771c4dfed92d82d5b"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_block_size" ref="g9eaa8ae82fd5550771c4dfed92d82d5b" args="(const EVP_CIPHER_CTX *ctx)" -->
496<div class="memitem">
497<div class="memproto">
498      <table class="memname">
499        <tr>
500          <td class="memname">size_t EVP_CIPHER_CTX_block_size           </td>
501          <td>(</td>
502          <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
503          <td class="paramname"> <em>ctx</em>          </td>
504          <td>&nbsp;)&nbsp;</td>
505          <td></td>
506        </tr>
507      </table>
508</div>
509<div class="memdoc">
510
511<p>
512Return the block size of the cipher context.<p>
513<dl compact><dt><b>Parameters:</b></dt><dd>
514  <table border="0" cellspacing="2" cellpadding="0">
515    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the block size from.</td></tr>
516  </table>
517</dl>
518<dl class="return" compact><dt><b>Returns:</b></dt><dd>the block size of the cipher context. </dd></dl>
519
520</div>
521</div><p>
522<a class="anchor" name="g4018621241b76f106903263614967aff"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_cipher" ref="g4018621241b76f106903263614967aff" args="(EVP_CIPHER_CTX *ctx)" -->
523<div class="memitem">
524<div class="memproto">
525      <table class="memname">
526        <tr>
527          <td class="memname">const EVP_CIPHER* EVP_CIPHER_CTX_cipher           </td>
528          <td>(</td>
529          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
530          <td class="paramname"> <em>ctx</em>          </td>
531          <td>&nbsp;)&nbsp;</td>
532          <td></td>
533        </tr>
534      </table>
535</div>
536<div class="memdoc">
537
538<p>
539Return the EVP_CIPHER for a EVP_CIPHER_CTX context.<p>
540<dl compact><dt><b>Parameters:</b></dt><dd>
541  <table border="0" cellspacing="2" cellpadding="0">
542    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to get the cipher type from.</td></tr>
543  </table>
544</dl>
545<dl class="return" compact><dt><b>Returns:</b></dt><dd>the EVP_CIPHER pointer. </dd></dl>
546
547</div>
548</div><p>
549<a class="anchor" name="gc16dd3987cd90c8bcdbad5290c558359"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_cleanup" ref="gc16dd3987cd90c8bcdbad5290c558359" args="(EVP_CIPHER_CTX *c)" -->
550<div class="memitem">
551<div class="memproto">
552      <table class="memname">
553        <tr>
554          <td class="memname">int EVP_CIPHER_CTX_cleanup           </td>
555          <td>(</td>
556          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
557          <td class="paramname"> <em>c</em>          </td>
558          <td>&nbsp;)&nbsp;</td>
559          <td></td>
560        </tr>
561      </table>
562</div>
563<div class="memdoc">
564
565<p>
566Clean up the EVP_CIPHER_CTX context.<p>
567<dl compact><dt><b>Parameters:</b></dt><dd>
568  <table border="0" cellspacing="2" cellpadding="0">
569    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher to clean up.</td></tr>
570  </table>
571</dl>
572<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
573<dl compact><dt><b>Examples: </b></dt><dd>
574<a class="el" href="example__evp__cipher_8c-example.html#a7">example_evp_cipher.c</a>.</dl>
575</div>
576</div><p>
577<a class="anchor" name="g6f8b7130068dbc4f03fb2cf65cee02bf"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_flags" ref="g6f8b7130068dbc4f03fb2cf65cee02bf" args="(const EVP_CIPHER_CTX *ctx)" -->
578<div class="memitem">
579<div class="memproto">
580      <table class="memname">
581        <tr>
582          <td class="memname">unsigned long EVP_CIPHER_CTX_flags           </td>
583          <td>(</td>
584          <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
585          <td class="paramname"> <em>ctx</em>          </td>
586          <td>&nbsp;)&nbsp;</td>
587          <td></td>
588        </tr>
589      </table>
590</div>
591<div class="memdoc">
592
593<p>
594Get the flags for an EVP_CIPHER_CTX context.<p>
595<dl compact><dt><b>Parameters:</b></dt><dd>
596  <table border="0" cellspacing="2" cellpadding="0">
597    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the flags from</td></tr>
598  </table>
599</dl>
600<dl class="return" compact><dt><b>Returns:</b></dt><dd>the flags for an EVP_CIPHER_CTX. </dd></dl>
601
602</div>
603</div><p>
604<a class="anchor" name="g0f78fd8ac0fa0765245e373d42fc90e3"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_get_app_data" ref="g0f78fd8ac0fa0765245e373d42fc90e3" args="(EVP_CIPHER_CTX *ctx)" -->
605<div class="memitem">
606<div class="memproto">
607      <table class="memname">
608        <tr>
609          <td class="memname">void* EVP_CIPHER_CTX_get_app_data           </td>
610          <td>(</td>
611          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
612          <td class="paramname"> <em>ctx</em>          </td>
613          <td>&nbsp;)&nbsp;</td>
614          <td></td>
615        </tr>
616      </table>
617</div>
618<div class="memdoc">
619
620<p>
621Get the app data for an EVP_CIPHER_CTX context.<p>
622<dl compact><dt><b>Parameters:</b></dt><dd>
623  <table border="0" cellspacing="2" cellpadding="0">
624    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the app data from</td></tr>
625  </table>
626</dl>
627<dl class="return" compact><dt><b>Returns:</b></dt><dd>the app data for an EVP_CIPHER_CTX. </dd></dl>
628
629</div>
630</div><p>
631<a class="anchor" name="g13d0ff0e87312566cb6b3591157f9754"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_init" ref="g13d0ff0e87312566cb6b3591157f9754" args="(EVP_CIPHER_CTX *c)" -->
632<div class="memitem">
633<div class="memproto">
634      <table class="memname">
635        <tr>
636          <td class="memname">void EVP_CIPHER_CTX_init           </td>
637          <td>(</td>
638          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
639          <td class="paramname"> <em>c</em>          </td>
640          <td>&nbsp;)&nbsp;</td>
641          <td></td>
642        </tr>
643      </table>
644</div>
645<div class="memdoc">
646
647<p>
648Initiate a EVP_CIPHER_CTX context. Clean up with <a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.<p>
649<dl compact><dt><b>Parameters:</b></dt><dd>
650  <table border="0" cellspacing="2" cellpadding="0">
651    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher initiate. </td></tr>
652  </table>
653</dl>
654<dl compact><dt><b>Examples: </b></dt><dd>
655<a class="el" href="example__evp__cipher_8c-example.html#a4">example_evp_cipher.c</a>.</dl>
656</div>
657</div><p>
658<a class="anchor" name="ge160dd334fea8b844a4ef8a2ed5fbb0b"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_iv_length" ref="ge160dd334fea8b844a4ef8a2ed5fbb0b" args="(const EVP_CIPHER_CTX *ctx)" -->
659<div class="memitem">
660<div class="memproto">
661      <table class="memname">
662        <tr>
663          <td class="memname">size_t EVP_CIPHER_CTX_iv_length           </td>
664          <td>(</td>
665          <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
666          <td class="paramname"> <em>ctx</em>          </td>
667          <td>&nbsp;)&nbsp;</td>
668          <td></td>
669        </tr>
670      </table>
671</div>
672<div class="memdoc">
673
674<p>
675Return the IV size of the cipher context.<p>
676<dl compact><dt><b>Parameters:</b></dt><dd>
677  <table border="0" cellspacing="2" cellpadding="0">
678    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the IV size from.</td></tr>
679  </table>
680</dl>
681<dl class="return" compact><dt><b>Returns:</b></dt><dd>the IV size of the cipher context. </dd></dl>
682
683</div>
684</div><p>
685<a class="anchor" name="gd9a4a54b9b5d0b6035c7522ca461a9db"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_key_length" ref="gd9a4a54b9b5d0b6035c7522ca461a9db" args="(const EVP_CIPHER_CTX *ctx)" -->
686<div class="memitem">
687<div class="memproto">
688      <table class="memname">
689        <tr>
690          <td class="memname">size_t EVP_CIPHER_CTX_key_length           </td>
691          <td>(</td>
692          <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
693          <td class="paramname"> <em>ctx</em>          </td>
694          <td>&nbsp;)&nbsp;</td>
695          <td></td>
696        </tr>
697      </table>
698</div>
699<div class="memdoc">
700
701<p>
702Return the key size of the cipher context.<p>
703<dl compact><dt><b>Parameters:</b></dt><dd>
704  <table border="0" cellspacing="2" cellpadding="0">
705    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the key size from.</td></tr>
706  </table>
707</dl>
708<dl class="return" compact><dt><b>Returns:</b></dt><dd>the key size of the cipher context. </dd></dl>
709
710</div>
711</div><p>
712<a class="anchor" name="gc8013ca93e9b1ed25df3f535eb633f1a"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_mode" ref="gc8013ca93e9b1ed25df3f535eb633f1a" args="(const EVP_CIPHER_CTX *ctx)" -->
713<div class="memitem">
714<div class="memproto">
715      <table class="memname">
716        <tr>
717          <td class="memname">int EVP_CIPHER_CTX_mode           </td>
718          <td>(</td>
719          <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
720          <td class="paramname"> <em>ctx</em>          </td>
721          <td>&nbsp;)&nbsp;</td>
722          <td></td>
723        </tr>
724      </table>
725</div>
726<div class="memdoc">
727
728<p>
729Get the mode for an EVP_CIPHER_CTX context.<p>
730<dl compact><dt><b>Parameters:</b></dt><dd>
731  <table border="0" cellspacing="2" cellpadding="0">
732    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the mode from</td></tr>
733  </table>
734</dl>
735<dl class="return" compact><dt><b>Returns:</b></dt><dd>the mode for an EVP_CIPHER_CTX. </dd></dl>
736
737</div>
738</div><p>
739<a class="anchor" name="g4fa322f7c3fe5fc570b8343d4d64fc52"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_set_app_data" ref="g4fa322f7c3fe5fc570b8343d4d64fc52" args="(EVP_CIPHER_CTX *ctx, void *data)" -->
740<div class="memitem">
741<div class="memproto">
742      <table class="memname">
743        <tr>
744          <td class="memname">void EVP_CIPHER_CTX_set_app_data           </td>
745          <td>(</td>
746          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
747          <td class="paramname"> <em>ctx</em>, </td>
748        </tr>
749        <tr>
750          <td class="paramkey"></td>
751          <td></td>
752          <td class="paramtype">void *&nbsp;</td>
753          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
754        </tr>
755        <tr>
756          <td></td>
757          <td>)</td>
758          <td></td><td></td><td></td>
759        </tr>
760      </table>
761</div>
762<div class="memdoc">
763
764<p>
765Set the app data for an EVP_CIPHER_CTX context.<p>
766<dl compact><dt><b>Parameters:</b></dt><dd>
767  <table border="0" cellspacing="2" cellpadding="0">
768    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to set the app data for </td></tr>
769    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the app data to set for an EVP_CIPHER_CTX. </td></tr>
770  </table>
771</dl>
772
773</div>
774</div><p>
775<a class="anchor" name="gc4d29d4bc3473f2499cfa83f0201386c"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_set_key_length" ref="gc4d29d4bc3473f2499cfa83f0201386c" args="(EVP_CIPHER_CTX *c, int length)" -->
776<div class="memitem">
777<div class="memproto">
778      <table class="memname">
779        <tr>
780          <td class="memname">int EVP_CIPHER_CTX_set_key_length           </td>
781          <td>(</td>
782          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
783          <td class="paramname"> <em>c</em>, </td>
784        </tr>
785        <tr>
786          <td class="paramkey"></td>
787          <td></td>
788          <td class="paramtype">int&nbsp;</td>
789          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
790        </tr>
791        <tr>
792          <td></td>
793          <td>)</td>
794          <td></td><td></td><td></td>
795        </tr>
796      </table>
797</div>
798<div class="memdoc">
799
800<p>
801If the cipher type supports it, change the key length<p>
802<dl compact><dt><b>Parameters:</b></dt><dd>
803  <table border="0" cellspacing="2" cellpadding="0">
804    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher context to change the key length for </td></tr>
805    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>new key length</td></tr>
806  </table>
807</dl>
808<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
809
810</div>
811</div><p>
812<a class="anchor" name="g7edebe76d19dee11686a6698d24f19f5"></a><!-- doxytag: member="evp.c::EVP_CIPHER_iv_length" ref="g7edebe76d19dee11686a6698d24f19f5" args="(const EVP_CIPHER *c)" -->
813<div class="memitem">
814<div class="memproto">
815      <table class="memname">
816        <tr>
817          <td class="memname">size_t EVP_CIPHER_iv_length           </td>
818          <td>(</td>
819          <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
820          <td class="paramname"> <em>c</em>          </td>
821          <td>&nbsp;)&nbsp;</td>
822          <td></td>
823        </tr>
824      </table>
825</div>
826<div class="memdoc">
827
828<p>
829Return the IV size of the cipher.<p>
830<dl compact><dt><b>Parameters:</b></dt><dd>
831  <table border="0" cellspacing="2" cellpadding="0">
832    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the IV size from.</td></tr>
833  </table>
834</dl>
835<dl class="return" compact><dt><b>Returns:</b></dt><dd>the IV size of the cipher. </dd></dl>
836<dl compact><dt><b>Examples: </b></dt><dd>
837<a class="el" href="example__evp__cipher_8c-example.html#a2">example_evp_cipher.c</a>.</dl>
838</div>
839</div><p>
840<a class="anchor" name="g4793a9e130da86ac42c497b19395b748"></a><!-- doxytag: member="evp.c::EVP_CIPHER_key_length" ref="g4793a9e130da86ac42c497b19395b748" args="(const EVP_CIPHER *c)" -->
841<div class="memitem">
842<div class="memproto">
843      <table class="memname">
844        <tr>
845          <td class="memname">size_t EVP_CIPHER_key_length           </td>
846          <td>(</td>
847          <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
848          <td class="paramname"> <em>c</em>          </td>
849          <td>&nbsp;)&nbsp;</td>
850          <td></td>
851        </tr>
852      </table>
853</div>
854<div class="memdoc">
855
856<p>
857Return the key size of the cipher.<p>
858<dl compact><dt><b>Parameters:</b></dt><dd>
859  <table border="0" cellspacing="2" cellpadding="0">
860    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the key size from.</td></tr>
861  </table>
862</dl>
863<dl class="return" compact><dt><b>Returns:</b></dt><dd>the key size of the cipher. </dd></dl>
864<dl compact><dt><b>Examples: </b></dt><dd>
865<a class="el" href="example__evp__cipher_8c-example.html#a1">example_evp_cipher.c</a>.</dl>
866</div>
867</div><p>
868<a class="anchor" name="g714eef7d737fd68171d852043a4995de"></a><!-- doxytag: member="evp.c::EVP_CipherFinal_ex" ref="g714eef7d737fd68171d852043a4995de" args="(EVP_CIPHER_CTX *ctx, void *out, int *outlen)" -->
869<div class="memitem">
870<div class="memproto">
871      <table class="memname">
872        <tr>
873          <td class="memname">int EVP_CipherFinal_ex           </td>
874          <td>(</td>
875          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
876          <td class="paramname"> <em>ctx</em>, </td>
877        </tr>
878        <tr>
879          <td class="paramkey"></td>
880          <td></td>
881          <td class="paramtype">void *&nbsp;</td>
882          <td class="paramname"> <em>out</em>, </td>
883        </tr>
884        <tr>
885          <td class="paramkey"></td>
886          <td></td>
887          <td class="paramtype">int *&nbsp;</td>
888          <td class="paramname"> <em>outlen</em></td><td>&nbsp;</td>
889        </tr>
890        <tr>
891          <td></td>
892          <td>)</td>
893          <td></td><td></td><td></td>
894        </tr>
895      </table>
896</div>
897<div class="memdoc">
898
899<p>
900Encipher/decipher final data<p>
901<dl compact><dt><b>Parameters:</b></dt><dd>
902  <table border="0" cellspacing="2" cellpadding="0">
903    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the cipher context. </td></tr>
904    <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output data from the operation. </td></tr>
905    <tr><td valign="top"></td><td valign="top"><em>outlen</em>&nbsp;</td><td>output length</td></tr>
906  </table>
907</dl>
908The input length needs to be at least <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> bytes long.<p>
909See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.<p>
910<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
911<dl compact><dt><b>Examples: </b></dt><dd>
912<a class="el" href="example__evp__cipher_8c-example.html#a8">example_evp_cipher.c</a>.</dl>
913</div>
914</div><p>
915<a class="anchor" name="g98da5a5c1aa25d9cb2e4717fa11314bd"></a><!-- doxytag: member="evp.c::EVP_CipherInit_ex" ref="g98da5a5c1aa25d9cb2e4717fa11314bd" args="(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)" -->
916<div class="memitem">
917<div class="memproto">
918      <table class="memname">
919        <tr>
920          <td class="memname">int EVP_CipherInit_ex           </td>
921          <td>(</td>
922          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
923          <td class="paramname"> <em>ctx</em>, </td>
924        </tr>
925        <tr>
926          <td class="paramkey"></td>
927          <td></td>
928          <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
929          <td class="paramname"> <em>c</em>, </td>
930        </tr>
931        <tr>
932          <td class="paramkey"></td>
933          <td></td>
934          <td class="paramtype">ENGINE *&nbsp;</td>
935          <td class="paramname"> <em>engine</em>, </td>
936        </tr>
937        <tr>
938          <td class="paramkey"></td>
939          <td></td>
940          <td class="paramtype">const void *&nbsp;</td>
941          <td class="paramname"> <em>key</em>, </td>
942        </tr>
943        <tr>
944          <td class="paramkey"></td>
945          <td></td>
946          <td class="paramtype">const void *&nbsp;</td>
947          <td class="paramname"> <em>iv</em>, </td>
948        </tr>
949        <tr>
950          <td class="paramkey"></td>
951          <td></td>
952          <td class="paramtype">int&nbsp;</td>
953          <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
954        </tr>
955        <tr>
956          <td></td>
957          <td>)</td>
958          <td></td><td></td><td></td>
959        </tr>
960      </table>
961</div>
962<div class="memdoc">
963
964<p>
965Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with <a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.<p>
966<dl compact><dt><b>Parameters:</b></dt><dd>
967  <table border="0" cellspacing="2" cellpadding="0">
968    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>context to initiate </td></tr>
969    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to use. </td></tr>
970    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>crypto engine to use, NULL to select default. </td></tr>
971    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the crypto key to use, NULL will use the previous value. </td></tr>
972    <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>the IV to use, NULL will use the previous value. </td></tr>
973    <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>non zero will encrypt, -1 use the previous value.</td></tr>
974  </table>
975</dl>
976<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
977<dl compact><dt><b>Examples: </b></dt><dd>
978<a class="el" href="example__evp__cipher_8c-example.html#a5">example_evp_cipher.c</a>.</dl>
979</div>
980</div><p>
981<a class="anchor" name="g863349e1001b36cfd6c4afedddd12862"></a><!-- doxytag: member="evp.c::EVP_CipherUpdate" ref="g863349e1001b36cfd6c4afedddd12862" args="(EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)" -->
982<div class="memitem">
983<div class="memproto">
984      <table class="memname">
985        <tr>
986          <td class="memname">int EVP_CipherUpdate           </td>
987          <td>(</td>
988          <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
989          <td class="paramname"> <em>ctx</em>, </td>
990        </tr>
991        <tr>
992          <td class="paramkey"></td>
993          <td></td>
994          <td class="paramtype">void *&nbsp;</td>
995          <td class="paramname"> <em>out</em>, </td>
996        </tr>
997        <tr>
998          <td class="paramkey"></td>
999          <td></td>
1000          <td class="paramtype">int *&nbsp;</td>
1001          <td class="paramname"> <em>outlen</em>, </td>
1002        </tr>
1003        <tr>
1004          <td class="paramkey"></td>
1005          <td></td>
1006          <td class="paramtype">void *&nbsp;</td>
1007          <td class="paramname"> <em>in</em>, </td>
1008        </tr>
1009        <tr>
1010          <td class="paramkey"></td>
1011          <td></td>
1012          <td class="paramtype">size_t&nbsp;</td>
1013          <td class="paramname"> <em>inlen</em></td><td>&nbsp;</td>
1014        </tr>
1015        <tr>
1016          <td></td>
1017          <td>)</td>
1018          <td></td><td></td><td></td>
1019        </tr>
1020      </table>
1021</div>
1022<div class="memdoc">
1023
1024<p>
1025Encipher/decipher partial data<p>
1026<dl compact><dt><b>Parameters:</b></dt><dd>
1027  <table border="0" cellspacing="2" cellpadding="0">
1028    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the cipher context. </td></tr>
1029    <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output data from the operation. </td></tr>
1030    <tr><td valign="top"></td><td valign="top"><em>outlen</em>&nbsp;</td><td>output length </td></tr>
1031    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>input data to the operation. </td></tr>
1032    <tr><td valign="top"></td><td valign="top"><em>inlen</em>&nbsp;</td><td>length of data.</td></tr>
1033  </table>
1034</dl>
1035The output buffer length should at least be <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> byte longer then the input length.<p>
1036See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.<p>
1037<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1038
1039<p>
1040If there in no spare bytes in the left from last Update and the input length is on the block boundery, the <a class="el" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX. <dl compact><dt><b>Examples: </b></dt><dd>
1041<a class="el" href="example__evp__cipher_8c-example.html#a6">example_evp_cipher.c</a>.</dl>
1042</div>
1043</div><p>
1044<a class="anchor" name="g8ba85e78fac7521ad71cb29ef62beab9"></a><!-- doxytag: member="evp.c::EVP_des_cbc" ref="g8ba85e78fac7521ad71cb29ef62beab9" args="(void)" -->
1045<div class="memitem">
1046<div class="memproto">
1047      <table class="memname">
1048        <tr>
1049          <td class="memname">const EVP_CIPHER* EVP_des_cbc           </td>
1050          <td>(</td>
1051          <td class="paramtype">void&nbsp;</td>
1052          <td class="paramname">          </td>
1053          <td>&nbsp;)&nbsp;</td>
1054          <td></td>
1055        </tr>
1056      </table>
1057</div>
1058<div class="memdoc">
1059
1060<p>
1061The DES cipher type<p>
1062<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
1063
1064</div>
1065</div><p>
1066<a class="anchor" name="g191c1d946437661ee23de2ad9b3383e3"></a><!-- doxytag: member="evp.c::EVP_des_ede3_cbc" ref="g191c1d946437661ee23de2ad9b3383e3" args="(void)" -->
1067<div class="memitem">
1068<div class="memproto">
1069      <table class="memname">
1070        <tr>
1071          <td class="memname">const EVP_CIPHER* EVP_des_ede3_cbc           </td>
1072          <td>(</td>
1073          <td class="paramtype">void&nbsp;</td>
1074          <td class="paramname">          </td>
1075          <td>&nbsp;)&nbsp;</td>
1076          <td></td>
1077        </tr>
1078      </table>
1079</div>
1080<div class="memdoc">
1081
1082<p>
1083The tripple DES cipher type<p>
1084<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
1085
1086</div>
1087</div><p>
1088<a class="anchor" name="gb785fa9dd0a45be223a0d576af062c4b"></a><!-- doxytag: member="evp.c::EVP_Digest" ref="gb785fa9dd0a45be223a0d576af062c4b" args="(const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)" -->
1089<div class="memitem">
1090<div class="memproto">
1091      <table class="memname">
1092        <tr>
1093          <td class="memname">int EVP_Digest           </td>
1094          <td>(</td>
1095          <td class="paramtype">const void *&nbsp;</td>
1096          <td class="paramname"> <em>data</em>, </td>
1097        </tr>
1098        <tr>
1099          <td class="paramkey"></td>
1100          <td></td>
1101          <td class="paramtype">size_t&nbsp;</td>
1102          <td class="paramname"> <em>dsize</em>, </td>
1103        </tr>
1104        <tr>
1105          <td class="paramkey"></td>
1106          <td></td>
1107          <td class="paramtype">void *&nbsp;</td>
1108          <td class="paramname"> <em>hash</em>, </td>
1109        </tr>
1110        <tr>
1111          <td class="paramkey"></td>
1112          <td></td>
1113          <td class="paramtype">unsigned int *&nbsp;</td>
1114          <td class="paramname"> <em>hsize</em>, </td>
1115        </tr>
1116        <tr>
1117          <td class="paramkey"></td>
1118          <td></td>
1119          <td class="paramtype">const EVP_MD *&nbsp;</td>
1120          <td class="paramname"> <em>md</em>, </td>
1121        </tr>
1122        <tr>
1123          <td class="paramkey"></td>
1124          <td></td>
1125          <td class="paramtype">ENGINE *&nbsp;</td>
1126          <td class="paramname"> <em>engine</em></td><td>&nbsp;</td>
1127        </tr>
1128        <tr>
1129          <td></td>
1130          <td>)</td>
1131          <td></td><td></td><td></td>
1132        </tr>
1133      </table>
1134</div>
1135<div class="memdoc">
1136
1137<p>
1138Do the whole <a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a>, <a class="el" href="group__hcrypto__evp.html#gb6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#g12039fea1f371ef39a489d450f564338">EVP_DigestUpdate()</a>, <a class="el" href="group__hcrypto__evp.html#g5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a> dance in one call.<p>
1139<dl compact><dt><b>Parameters:</b></dt><dd>
1140  <table border="0" cellspacing="2" cellpadding="0">
1141    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to update the context with </td></tr>
1142    <tr><td valign="top"></td><td valign="top"><em>dsize</em>&nbsp;</td><td>length of data </td></tr>
1143    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>output data of at least <a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a> length. </td></tr>
1144    <tr><td valign="top"></td><td valign="top"><em>hsize</em>&nbsp;</td><td>output length of hash. </td></tr>
1145    <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>message digest to use </td></tr>
1146    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>engine to use, NULL for default engine.</td></tr>
1147  </table>
1148</dl>
1149<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1150
1151</div>
1152</div><p>
1153<a class="anchor" name="g5103bec19556f264e1f442c6ffc3bddc"></a><!-- doxytag: member="evp.c::EVP_DigestFinal_ex" ref="g5103bec19556f264e1f442c6ffc3bddc" args="(EVP_MD_CTX *ctx, void *hash, unsigned int *size)" -->
1154<div class="memitem">
1155<div class="memproto">
1156      <table class="memname">
1157        <tr>
1158          <td class="memname">int EVP_DigestFinal_ex           </td>
1159          <td>(</td>
1160          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1161          <td class="paramname"> <em>ctx</em>, </td>
1162        </tr>
1163        <tr>
1164          <td class="paramkey"></td>
1165          <td></td>
1166          <td class="paramtype">void *&nbsp;</td>
1167          <td class="paramname"> <em>hash</em>, </td>
1168        </tr>
1169        <tr>
1170          <td class="paramkey"></td>
1171          <td></td>
1172          <td class="paramtype">unsigned int *&nbsp;</td>
1173          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1174        </tr>
1175        <tr>
1176          <td></td>
1177          <td>)</td>
1178          <td></td><td></td><td></td>
1179        </tr>
1180      </table>
1181</div>
1182<div class="memdoc">
1183
1184<p>
1185Complete the message digest.<p>
1186<dl compact><dt><b>Parameters:</b></dt><dd>
1187  <table border="0" cellspacing="2" cellpadding="0">
1188    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to complete. </td></tr>
1189    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>the output of the message digest function. At least <a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a>. </td></tr>
1190    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the output size of hash.</td></tr>
1191  </table>
1192</dl>
1193<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1194
1195</div>
1196</div><p>
1197<a class="anchor" name="gb6b800ba80b850cba223723b28fc9a44"></a><!-- doxytag: member="evp.c::EVP_DigestInit_ex" ref="gb6b800ba80b850cba223723b28fc9a44" args="(EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)" -->
1198<div class="memitem">
1199<div class="memproto">
1200      <table class="memname">
1201        <tr>
1202          <td class="memname">int EVP_DigestInit_ex           </td>
1203          <td>(</td>
1204          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1205          <td class="paramname"> <em>ctx</em>, </td>
1206        </tr>
1207        <tr>
1208          <td class="paramkey"></td>
1209          <td></td>
1210          <td class="paramtype">const EVP_MD *&nbsp;</td>
1211          <td class="paramname"> <em>md</em>, </td>
1212        </tr>
1213        <tr>
1214          <td class="paramkey"></td>
1215          <td></td>
1216          <td class="paramtype">ENGINE *&nbsp;</td>
1217          <td class="paramname"> <em>engine</em></td><td>&nbsp;</td>
1218        </tr>
1219        <tr>
1220          <td></td>
1221          <td>)</td>
1222          <td></td><td></td><td></td>
1223        </tr>
1224      </table>
1225</div>
1226<div class="memdoc">
1227
1228<p>
1229Init a EVP_MD_CTX for use a specific message digest and engine.<p>
1230<dl compact><dt><b>Parameters:</b></dt><dd>
1231  <table border="0" cellspacing="2" cellpadding="0">
1232    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the message digest context to init. </td></tr>
1233    <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the message digest to use. </td></tr>
1234    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>the engine to use, NULL to use the default engine.</td></tr>
1235  </table>
1236</dl>
1237<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1238
1239</div>
1240</div><p>
1241<a class="anchor" name="g12039fea1f371ef39a489d450f564338"></a><!-- doxytag: member="evp.c::EVP_DigestUpdate" ref="g12039fea1f371ef39a489d450f564338" args="(EVP_MD_CTX *ctx, const void *data, size_t size)" -->
1242<div class="memitem">
1243<div class="memproto">
1244      <table class="memname">
1245        <tr>
1246          <td class="memname">int EVP_DigestUpdate           </td>
1247          <td>(</td>
1248          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1249          <td class="paramname"> <em>ctx</em>, </td>
1250        </tr>
1251        <tr>
1252          <td class="paramkey"></td>
1253          <td></td>
1254          <td class="paramtype">const void *&nbsp;</td>
1255          <td class="paramname"> <em>data</em>, </td>
1256        </tr>
1257        <tr>
1258          <td class="paramkey"></td>
1259          <td></td>
1260          <td class="paramtype">size_t&nbsp;</td>
1261          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
1262        </tr>
1263        <tr>
1264          <td></td>
1265          <td>)</td>
1266          <td></td><td></td><td></td>
1267        </tr>
1268      </table>
1269</div>
1270<div class="memdoc">
1271
1272<p>
1273Update the digest with some data.<p>
1274<dl compact><dt><b>Parameters:</b></dt><dd>
1275  <table border="0" cellspacing="2" cellpadding="0">
1276    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to update </td></tr>
1277    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to update the context with </td></tr>
1278    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>length of data</td></tr>
1279  </table>
1280</dl>
1281<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1282
1283</div>
1284</div><p>
1285<a class="anchor" name="g70a05495ee115c6eb26d958a5ac75c8b"></a><!-- doxytag: member="evp.c::EVP_enc_null" ref="g70a05495ee115c6eb26d958a5ac75c8b" args="(void)" -->
1286<div class="memitem">
1287<div class="memproto">
1288      <table class="memname">
1289        <tr>
1290          <td class="memname">const EVP_CIPHER* EVP_enc_null           </td>
1291          <td>(</td>
1292          <td class="paramtype">void&nbsp;</td>
1293          <td class="paramname">          </td>
1294          <td>&nbsp;)&nbsp;</td>
1295          <td></td>
1296        </tr>
1297      </table>
1298</div>
1299<div class="memdoc">
1300
1301<p>
1302The NULL cipher type, does no encryption/decryption.<p>
1303<dl class="return" compact><dt><b>Returns:</b></dt><dd>the null EVP_CIPHER pointer. </dd></dl>
1304
1305</div>
1306</div><p>
1307<a class="anchor" name="gead9b446ac5ebd90dc7be0dbe6aba2b0"></a><!-- doxytag: member="evp.c::EVP_get_cipherbyname" ref="gead9b446ac5ebd90dc7be0dbe6aba2b0" args="(const char *name)" -->
1308<div class="memitem">
1309<div class="memproto">
1310      <table class="memname">
1311        <tr>
1312          <td class="memname">const EVP_CIPHER* EVP_get_cipherbyname           </td>
1313          <td>(</td>
1314          <td class="paramtype">const char *&nbsp;</td>
1315          <td class="paramname"> <em>name</em>          </td>
1316          <td>&nbsp;)&nbsp;</td>
1317          <td></td>
1318        </tr>
1319      </table>
1320</div>
1321<div class="memdoc">
1322
1323<p>
1324Get the cipher type using their name.<p>
1325<dl compact><dt><b>Parameters:</b></dt><dd>
1326  <table border="0" cellspacing="2" cellpadding="0">
1327    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>the name of the cipher.</td></tr>
1328  </table>
1329</dl>
1330<dl class="return" compact><dt><b>Returns:</b></dt><dd>the selected EVP_CIPHER pointer or NULL if not found. </dd></dl>
1331
1332</div>
1333</div><p>
1334<a class="anchor" name="g2decf06c0d9b08e364e9c4c8f4d3a7a3"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_128_cbc" ref="g2decf06c0d9b08e364e9c4c8f4d3a7a3" args="(void)" -->
1335<div class="memitem">
1336<div class="memproto">
1337      <table class="memname">
1338        <tr>
1339          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cbc           </td>
1340          <td>(</td>
1341          <td class="paramtype">void&nbsp;</td>
1342          <td class="paramname">          </td>
1343          <td>&nbsp;)&nbsp;</td>
1344          <td></td>
1345        </tr>
1346      </table>
1347</div>
1348<div class="memdoc">
1349
1350<p>
1351The AES-128 cipher type (hcrypto)<p>
1352<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
1353
1354</div>
1355</div><p>
1356<a class="anchor" name="g44eb080ab987799883eae8e64970be6c"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_128_cfb8" ref="g44eb080ab987799883eae8e64970be6c" args="(void)" -->
1357<div class="memitem">
1358<div class="memproto">
1359      <table class="memname">
1360        <tr>
1361          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8           </td>
1362          <td>(</td>
1363          <td class="paramtype">void&nbsp;</td>
1364          <td class="paramname">          </td>
1365          <td>&nbsp;)&nbsp;</td>
1366          <td></td>
1367        </tr>
1368      </table>
1369</div>
1370<div class="memdoc">
1371
1372<p>
1373The AES-128 CFB8 cipher type (hcrypto)<p>
1374<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
1375
1376</div>
1377</div><p>
1378<a class="anchor" name="g16b21d9262c4af37121b0e85cc83b555"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_192_cbc" ref="g16b21d9262c4af37121b0e85cc83b555" args="(void)" -->
1379<div class="memitem">
1380<div class="memproto">
1381      <table class="memname">
1382        <tr>
1383          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cbc           </td>
1384          <td>(</td>
1385          <td class="paramtype">void&nbsp;</td>
1386          <td class="paramname">          </td>
1387          <td>&nbsp;)&nbsp;</td>
1388          <td></td>
1389        </tr>
1390      </table>
1391</div>
1392<div class="memdoc">
1393
1394<p>
1395The AES-192 cipher type (hcrypto)<p>
1396<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
1397
1398</div>
1399</div><p>
1400<a class="anchor" name="g532a6f5c56334ccf8615791bfaef041d"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_192_cfb8" ref="g532a6f5c56334ccf8615791bfaef041d" args="(void)" -->
1401<div class="memitem">
1402<div class="memproto">
1403      <table class="memname">
1404        <tr>
1405          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8           </td>
1406          <td>(</td>
1407          <td class="paramtype">void&nbsp;</td>
1408          <td class="paramname">          </td>
1409          <td>&nbsp;)&nbsp;</td>
1410          <td></td>
1411        </tr>
1412      </table>
1413</div>
1414<div class="memdoc">
1415
1416<p>
1417The AES-192 CFB8 cipher type (hcrypto)<p>
1418<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
1419
1420</div>
1421</div><p>
1422<a class="anchor" name="g49b683aa07c039ad31d7e498c87ad95f"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_256_cbc" ref="g49b683aa07c039ad31d7e498c87ad95f" args="(void)" -->
1423<div class="memitem">
1424<div class="memproto">
1425      <table class="memname">
1426        <tr>
1427          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cbc           </td>
1428          <td>(</td>
1429          <td class="paramtype">void&nbsp;</td>
1430          <td class="paramname">          </td>
1431          <td>&nbsp;)&nbsp;</td>
1432          <td></td>
1433        </tr>
1434      </table>
1435</div>
1436<div class="memdoc">
1437
1438<p>
1439The AES-256 cipher type (hcrypto)<p>
1440<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
1441
1442</div>
1443</div><p>
1444<a class="anchor" name="g4f7c34086cea5e4da92f56d543ec24bf"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_256_cfb8" ref="g4f7c34086cea5e4da92f56d543ec24bf" args="(void)" -->
1445<div class="memitem">
1446<div class="memproto">
1447      <table class="memname">
1448        <tr>
1449          <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8           </td>
1450          <td>(</td>
1451          <td class="paramtype">void&nbsp;</td>
1452          <td class="paramname">          </td>
1453          <td>&nbsp;)&nbsp;</td>
1454          <td></td>
1455        </tr>
1456      </table>
1457</div>
1458<div class="memdoc">
1459
1460<p>
1461The AES-256 CFB8 cipher type (hcrypto)<p>
1462<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
1463
1464</div>
1465</div><p>
1466<a class="anchor" name="g68deec0ffc93c0dcd83db0478e72d5b8"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_128_cbc" ref="g68deec0ffc93c0dcd83db0478e72d5b8" args="(void)" -->
1467<div class="memitem">
1468<div class="memproto">
1469      <table class="memname">
1470        <tr>
1471          <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc           </td>
1472          <td>(</td>
1473          <td class="paramtype">void&nbsp;</td>
1474          <td class="paramname">          </td>
1475          <td>&nbsp;)&nbsp;</td>
1476          <td></td>
1477        </tr>
1478      </table>
1479</div>
1480<div class="memdoc">
1481
1482<p>
1483The Camellia-128 cipher type - hcrypto<p>
1484<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
1485
1486</div>
1487</div><p>
1488<a class="anchor" name="gfd6acecc697a1f9516909ca228cb54e5"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_192_cbc" ref="gfd6acecc697a1f9516909ca228cb54e5" args="(void)" -->
1489<div class="memitem">
1490<div class="memproto">
1491      <table class="memname">
1492        <tr>
1493          <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc           </td>
1494          <td>(</td>
1495          <td class="paramtype">void&nbsp;</td>
1496          <td class="paramname">          </td>
1497          <td>&nbsp;)&nbsp;</td>
1498          <td></td>
1499        </tr>
1500      </table>
1501</div>
1502<div class="memdoc">
1503
1504<p>
1505The Camellia-198 cipher type - hcrypto<p>
1506<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
1507
1508</div>
1509</div><p>
1510<a class="anchor" name="g211f7122bdeeb3551dcd02c37a7a11e6"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_256_cbc" ref="g211f7122bdeeb3551dcd02c37a7a11e6" args="(void)" -->
1511<div class="memitem">
1512<div class="memproto">
1513      <table class="memname">
1514        <tr>
1515          <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc           </td>
1516          <td>(</td>
1517          <td class="paramtype">void&nbsp;</td>
1518          <td class="paramname">          </td>
1519          <td>&nbsp;)&nbsp;</td>
1520          <td></td>
1521        </tr>
1522      </table>
1523</div>
1524<div class="memdoc">
1525
1526<p>
1527The Camellia-256 cipher type - hcrypto<p>
1528<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
1529
1530</div>
1531</div><p>
1532<a class="anchor" name="g0cc4edf9d19ebf7198e33ac0c8138f04"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_des_cbc" ref="g0cc4edf9d19ebf7198e33ac0c8138f04" args="(void)" -->
1533<div class="memitem">
1534<div class="memproto">
1535      <table class="memname">
1536        <tr>
1537          <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_cbc           </td>
1538          <td>(</td>
1539          <td class="paramtype">void&nbsp;</td>
1540          <td class="paramname">          </td>
1541          <td>&nbsp;)&nbsp;</td>
1542          <td></td>
1543        </tr>
1544      </table>
1545</div>
1546<div class="memdoc">
1547
1548<p>
1549The DES cipher type<p>
1550<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
1551
1552</div>
1553</div><p>
1554<a class="anchor" name="g1c0e19f28dc594d929f089721e737237"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_des_ede3_cbc" ref="g1c0e19f28dc594d929f089721e737237" args="(void)" -->
1555<div class="memitem">
1556<div class="memproto">
1557      <table class="memname">
1558        <tr>
1559          <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc           </td>
1560          <td>(</td>
1561          <td class="paramtype">void&nbsp;</td>
1562          <td class="paramname">          </td>
1563          <td>&nbsp;)&nbsp;</td>
1564          <td></td>
1565        </tr>
1566      </table>
1567</div>
1568<div class="memdoc">
1569
1570<p>
1571The tripple DES cipher type - hcrypto<p>
1572<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
1573
1574</div>
1575</div><p>
1576<a class="anchor" name="g89d756ccb4919c5102481da488b86aaa"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md2" ref="g89d756ccb4919c5102481da488b86aaa" args="(void)" -->
1577<div class="memitem">
1578<div class="memproto">
1579      <table class="memname">
1580        <tr>
1581          <td class="memname">const EVP_MD* EVP_hcrypto_md2           </td>
1582          <td>(</td>
1583          <td class="paramtype">void&nbsp;</td>
1584          <td class="paramname">          </td>
1585          <td>&nbsp;)&nbsp;</td>
1586          <td></td>
1587        </tr>
1588      </table>
1589</div>
1590<div class="memdoc">
1591
1592<p>
1593The message digest MD2 - hcrypto<p>
1594<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1595
1596</div>
1597</div><p>
1598<a class="anchor" name="g4456dfa7c2f23830fa32b99969720719"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md4" ref="g4456dfa7c2f23830fa32b99969720719" args="(void)" -->
1599<div class="memitem">
1600<div class="memproto">
1601      <table class="memname">
1602        <tr>
1603          <td class="memname">const EVP_MD* EVP_hcrypto_md4           </td>
1604          <td>(</td>
1605          <td class="paramtype">void&nbsp;</td>
1606          <td class="paramname">          </td>
1607          <td>&nbsp;)&nbsp;</td>
1608          <td></td>
1609        </tr>
1610      </table>
1611</div>
1612<div class="memdoc">
1613
1614<p>
1615The message digest MD4 - hcrypto<p>
1616<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1617
1618</div>
1619</div><p>
1620<a class="anchor" name="g3c7a8676a690817ec03d71568a7deb1b"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md5" ref="g3c7a8676a690817ec03d71568a7deb1b" args="(void)" -->
1621<div class="memitem">
1622<div class="memproto">
1623      <table class="memname">
1624        <tr>
1625          <td class="memname">const EVP_MD* EVP_hcrypto_md5           </td>
1626          <td>(</td>
1627          <td class="paramtype">void&nbsp;</td>
1628          <td class="paramname">          </td>
1629          <td>&nbsp;)&nbsp;</td>
1630          <td></td>
1631        </tr>
1632      </table>
1633</div>
1634<div class="memdoc">
1635
1636<p>
1637The message digest MD5 - hcrypto<p>
1638<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1639
1640</div>
1641</div><p>
1642<a class="anchor" name="g35d681a86e0ed71b505b53e5fc199ed5"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_40_cbc" ref="g35d681a86e0ed71b505b53e5fc199ed5" args="(void)" -->
1643<div class="memitem">
1644<div class="memproto">
1645      <table class="memname">
1646        <tr>
1647          <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc           </td>
1648          <td>(</td>
1649          <td class="paramtype">void&nbsp;</td>
1650          <td class="paramname">          </td>
1651          <td>&nbsp;)&nbsp;</td>
1652          <td></td>
1653        </tr>
1654      </table>
1655</div>
1656<div class="memdoc">
1657
1658<p>
1659The RC2-40 cipher type<p>
1660<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
1661
1662</div>
1663</div><p>
1664<a class="anchor" name="gb7534f69db09cd76e4c36703a9340212"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_64_cbc" ref="gb7534f69db09cd76e4c36703a9340212" args="(void)" -->
1665<div class="memitem">
1666<div class="memproto">
1667      <table class="memname">
1668        <tr>
1669          <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc           </td>
1670          <td>(</td>
1671          <td class="paramtype">void&nbsp;</td>
1672          <td class="paramname">          </td>
1673          <td>&nbsp;)&nbsp;</td>
1674          <td></td>
1675        </tr>
1676      </table>
1677</div>
1678<div class="memdoc">
1679
1680<p>
1681The RC2-64 cipher type<p>
1682<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
1683
1684</div>
1685</div><p>
1686<a class="anchor" name="gc238450b802f4e0c78752ef1ba1198e9"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_cbc" ref="gc238450b802f4e0c78752ef1ba1198e9" args="(void)" -->
1687<div class="memitem">
1688<div class="memproto">
1689      <table class="memname">
1690        <tr>
1691          <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_cbc           </td>
1692          <td>(</td>
1693          <td class="paramtype">void&nbsp;</td>
1694          <td class="paramname">          </td>
1695          <td>&nbsp;)&nbsp;</td>
1696          <td></td>
1697        </tr>
1698      </table>
1699</div>
1700<div class="memdoc">
1701
1702<p>
1703The RC2 cipher type - hcrypto<p>
1704<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
1705
1706</div>
1707</div><p>
1708<a class="anchor" name="g5dc409fc540bad0751b96b3f74185477"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha1" ref="g5dc409fc540bad0751b96b3f74185477" args="(void)" -->
1709<div class="memitem">
1710<div class="memproto">
1711      <table class="memname">
1712        <tr>
1713          <td class="memname">const EVP_MD* EVP_hcrypto_sha1           </td>
1714          <td>(</td>
1715          <td class="paramtype">void&nbsp;</td>
1716          <td class="paramname">          </td>
1717          <td>&nbsp;)&nbsp;</td>
1718          <td></td>
1719        </tr>
1720      </table>
1721</div>
1722<div class="memdoc">
1723
1724<p>
1725The message digest SHA1 - hcrypto<p>
1726<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1727
1728</div>
1729</div><p>
1730<a class="anchor" name="g12b7608ec40d059f5539fd24277baae0"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha256" ref="g12b7608ec40d059f5539fd24277baae0" args="(void)" -->
1731<div class="memitem">
1732<div class="memproto">
1733      <table class="memname">
1734        <tr>
1735          <td class="memname">const EVP_MD* EVP_hcrypto_sha256           </td>
1736          <td>(</td>
1737          <td class="paramtype">void&nbsp;</td>
1738          <td class="paramname">          </td>
1739          <td>&nbsp;)&nbsp;</td>
1740          <td></td>
1741        </tr>
1742      </table>
1743</div>
1744<div class="memdoc">
1745
1746<p>
1747The message digest SHA256 - hcrypto<p>
1748<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1749
1750</div>
1751</div><p>
1752<a class="anchor" name="gc002bcb2cc8ee9bb58b5924ab0bc3533"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha384" ref="gc002bcb2cc8ee9bb58b5924ab0bc3533" args="(void)" -->
1753<div class="memitem">
1754<div class="memproto">
1755      <table class="memname">
1756        <tr>
1757          <td class="memname">const EVP_MD* EVP_hcrypto_sha384           </td>
1758          <td>(</td>
1759          <td class="paramtype">void&nbsp;</td>
1760          <td class="paramname">          </td>
1761          <td>&nbsp;)&nbsp;</td>
1762          <td></td>
1763        </tr>
1764      </table>
1765</div>
1766<div class="memdoc">
1767
1768<p>
1769The message digest SHA384 - hcrypto<p>
1770<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1771
1772</div>
1773</div><p>
1774<a class="anchor" name="gef3c401b9d2e696f89f27335f4b261e2"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha512" ref="gef3c401b9d2e696f89f27335f4b261e2" args="(void)" -->
1775<div class="memitem">
1776<div class="memproto">
1777      <table class="memname">
1778        <tr>
1779          <td class="memname">const EVP_MD* EVP_hcrypto_sha512           </td>
1780          <td>(</td>
1781          <td class="paramtype">void&nbsp;</td>
1782          <td class="paramname">          </td>
1783          <td>&nbsp;)&nbsp;</td>
1784          <td></td>
1785        </tr>
1786      </table>
1787</div>
1788<div class="memdoc">
1789
1790<p>
1791The message digest SHA512 - hcrypto<p>
1792<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1793
1794</div>
1795</div><p>
1796<a class="anchor" name="g4b583f3de5fc66b04f675428da25efd0"></a><!-- doxytag: member="evp.c::EVP_md2" ref="g4b583f3de5fc66b04f675428da25efd0" args="(void)" -->
1797<div class="memitem">
1798<div class="memproto">
1799      <table class="memname">
1800        <tr>
1801          <td class="memname">const EVP_MD* EVP_md2           </td>
1802          <td>(</td>
1803          <td class="paramtype">void&nbsp;</td>
1804          <td class="paramname">          </td>
1805          <td>&nbsp;)&nbsp;</td>
1806          <td></td>
1807        </tr>
1808      </table>
1809</div>
1810<div class="memdoc">
1811
1812<p>
1813The message digest MD2<p>
1814<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1815
1816</div>
1817</div><p>
1818<a class="anchor" name="gd232ca5dcef4ec58b182cb967f519999"></a><!-- doxytag: member="evp.c::EVP_md4" ref="gd232ca5dcef4ec58b182cb967f519999" args="(void)" -->
1819<div class="memitem">
1820<div class="memproto">
1821      <table class="memname">
1822        <tr>
1823          <td class="memname">const EVP_MD* EVP_md4           </td>
1824          <td>(</td>
1825          <td class="paramtype">void&nbsp;</td>
1826          <td class="paramname">          </td>
1827          <td>&nbsp;)&nbsp;</td>
1828          <td></td>
1829        </tr>
1830      </table>
1831</div>
1832<div class="memdoc">
1833
1834<p>
1835The message digest MD4<p>
1836<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1837
1838</div>
1839</div><p>
1840<a class="anchor" name="g3ccaad2c97f5cf27adb461b1b50aeabb"></a><!-- doxytag: member="evp.c::EVP_md5" ref="g3ccaad2c97f5cf27adb461b1b50aeabb" args="(void)" -->
1841<div class="memitem">
1842<div class="memproto">
1843      <table class="memname">
1844        <tr>
1845          <td class="memname">const EVP_MD* EVP_md5           </td>
1846          <td>(</td>
1847          <td class="paramtype">void&nbsp;</td>
1848          <td class="paramname">          </td>
1849          <td>&nbsp;)&nbsp;</td>
1850          <td></td>
1851        </tr>
1852      </table>
1853</div>
1854<div class="memdoc">
1855
1856<p>
1857The message digest MD5<p>
1858<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
1859
1860</div>
1861</div><p>
1862<a class="anchor" name="g48ccb698903828660dc1722d31311420"></a><!-- doxytag: member="evp.c::EVP_MD_block_size" ref="g48ccb698903828660dc1722d31311420" args="(const EVP_MD *md)" -->
1863<div class="memitem">
1864<div class="memproto">
1865      <table class="memname">
1866        <tr>
1867          <td class="memname">size_t EVP_MD_block_size           </td>
1868          <td>(</td>
1869          <td class="paramtype">const EVP_MD *&nbsp;</td>
1870          <td class="paramname"> <em>md</em>          </td>
1871          <td>&nbsp;)&nbsp;</td>
1872          <td></td>
1873        </tr>
1874      </table>
1875</div>
1876<div class="memdoc">
1877
1878<p>
1879Return the blocksize of the message digest function.<p>
1880<dl compact><dt><b>Parameters:</b></dt><dd>
1881  <table border="0" cellspacing="2" cellpadding="0">
1882    <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the evp message</td></tr>
1883  </table>
1884</dl>
1885<dl class="return" compact><dt><b>Returns:</b></dt><dd>size size of the message digest block size </dd></dl>
1886
1887</div>
1888</div><p>
1889<a class="anchor" name="gb35a28f548e64c74dbfd7198c04dad5d"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_block_size" ref="gb35a28f548e64c74dbfd7198c04dad5d" args="(EVP_MD_CTX *ctx)" -->
1890<div class="memitem">
1891<div class="memproto">
1892      <table class="memname">
1893        <tr>
1894          <td class="memname">size_t EVP_MD_CTX_block_size           </td>
1895          <td>(</td>
1896          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1897          <td class="paramname"> <em>ctx</em>          </td>
1898          <td>&nbsp;)&nbsp;</td>
1899          <td></td>
1900        </tr>
1901      </table>
1902</div>
1903<div class="memdoc">
1904
1905<p>
1906Return the blocksize of the message digest function.<p>
1907<dl compact><dt><b>Parameters:</b></dt><dd>
1908  <table border="0" cellspacing="2" cellpadding="0">
1909    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the evp message digest context</td></tr>
1910  </table>
1911</dl>
1912<dl class="return" compact><dt><b>Returns:</b></dt><dd>size size of the message digest block size </dd></dl>
1913
1914</div>
1915</div><p>
1916<a class="anchor" name="g34dea52c788c741fdb4f8fb051be3308"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_cleanup" ref="g34dea52c788c741fdb4f8fb051be3308" args="(EVP_MD_CTX *ctx) HC_DEPRECATED" -->
1917<div class="memitem">
1918<div class="memproto">
1919      <table class="memname">
1920        <tr>
1921          <td class="memname">int EVP_MD_CTX_cleanup           </td>
1922          <td>(</td>
1923          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1924          <td class="paramname"> <em>ctx</em>          </td>
1925          <td>&nbsp;)&nbsp;</td>
1926          <td></td>
1927        </tr>
1928      </table>
1929</div>
1930<div class="memdoc">
1931
1932<p>
1933Free the resources used by the EVP_MD context.<p>
1934<dl compact><dt><b>Parameters:</b></dt><dd>
1935  <table border="0" cellspacing="2" cellpadding="0">
1936    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to free the resources from.</td></tr>
1937  </table>
1938</dl>
1939<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
1940
1941</div>
1942</div><p>
1943<a class="anchor" name="g54bfa0296db2c131ef69e3a18c445357"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_create" ref="g54bfa0296db2c131ef69e3a18c445357" args="(void)" -->
1944<div class="memitem">
1945<div class="memproto">
1946      <table class="memname">
1947        <tr>
1948          <td class="memname">EVP_MD_CTX* EVP_MD_CTX_create           </td>
1949          <td>(</td>
1950          <td class="paramtype">void&nbsp;</td>
1951          <td class="paramname">          </td>
1952          <td>&nbsp;)&nbsp;</td>
1953          <td></td>
1954        </tr>
1955      </table>
1956</div>
1957<div class="memdoc">
1958
1959<p>
1960Allocate a messsage digest context object. Free with <a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a>.<p>
1961<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated message digest context object. </dd></dl>
1962
1963</div>
1964</div><p>
1965<a class="anchor" name="ge105ea6e5626f521fbe8cad0a85cbe46"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_destroy" ref="ge105ea6e5626f521fbe8cad0a85cbe46" args="(EVP_MD_CTX *ctx)" -->
1966<div class="memitem">
1967<div class="memproto">
1968      <table class="memname">
1969        <tr>
1970          <td class="memname">void EVP_MD_CTX_destroy           </td>
1971          <td>(</td>
1972          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1973          <td class="paramname"> <em>ctx</em>          </td>
1974          <td>&nbsp;)&nbsp;</td>
1975          <td></td>
1976        </tr>
1977      </table>
1978</div>
1979<div class="memdoc">
1980
1981<p>
1982Free a messsage digest context object.<p>
1983<dl compact><dt><b>Parameters:</b></dt><dd>
1984  <table border="0" cellspacing="2" cellpadding="0">
1985    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>context to free. </td></tr>
1986  </table>
1987</dl>
1988
1989</div>
1990</div><p>
1991<a class="anchor" name="g3fd216754cf705b7d4980744b1508410"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_init" ref="g3fd216754cf705b7d4980744b1508410" args="(EVP_MD_CTX *ctx) HC_DEPRECATED" -->
1992<div class="memitem">
1993<div class="memproto">
1994      <table class="memname">
1995        <tr>
1996          <td class="memname">void EVP_MD_CTX_init           </td>
1997          <td>(</td>
1998          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
1999          <td class="paramname"> <em>ctx</em>          </td>
2000          <td>&nbsp;)&nbsp;</td>
2001          <td></td>
2002        </tr>
2003      </table>
2004</div>
2005<div class="memdoc">
2006
2007<p>
2008Initiate a messsage digest context object. Deallocate with <a class="el" href="group__hcrypto__evp.html#g34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup()</a>. Please use <a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a> instead.<p>
2009<dl compact><dt><b>Parameters:</b></dt><dd>
2010  <table border="0" cellspacing="2" cellpadding="0">
2011    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>variable to initiate. </td></tr>
2012  </table>
2013</dl>
2014
2015</div>
2016</div><p>
2017<a class="anchor" name="ged3480025ecf31d0afcb62174d6acc24"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_md" ref="ged3480025ecf31d0afcb62174d6acc24" args="(EVP_MD_CTX *ctx)" -->
2018<div class="memitem">
2019<div class="memproto">
2020      <table class="memname">
2021        <tr>
2022          <td class="memname">const EVP_MD* EVP_MD_CTX_md           </td>
2023          <td>(</td>
2024          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
2025          <td class="paramname"> <em>ctx</em>          </td>
2026          <td>&nbsp;)&nbsp;</td>
2027          <td></td>
2028        </tr>
2029      </table>
2030</div>
2031<div class="memdoc">
2032
2033<p>
2034Get the EVP_MD use for a specified context.<p>
2035<dl compact><dt><b>Parameters:</b></dt><dd>
2036  <table border="0" cellspacing="2" cellpadding="0">
2037    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_MD context to get the EVP_MD for.</td></tr>
2038  </table>
2039</dl>
2040<dl class="return" compact><dt><b>Returns:</b></dt><dd>the EVP_MD used for the context. </dd></dl>
2041
2042</div>
2043</div><p>
2044<a class="anchor" name="g25a51444f0586be1494f78e4e17e65f8"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_size" ref="g25a51444f0586be1494f78e4e17e65f8" args="(EVP_MD_CTX *ctx)" -->
2045<div class="memitem">
2046<div class="memproto">
2047      <table class="memname">
2048        <tr>
2049          <td class="memname">size_t EVP_MD_CTX_size           </td>
2050          <td>(</td>
2051          <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
2052          <td class="paramname"> <em>ctx</em>          </td>
2053          <td>&nbsp;)&nbsp;</td>
2054          <td></td>
2055        </tr>
2056      </table>
2057</div>
2058<div class="memdoc">
2059
2060<p>
2061Return the output size of the message digest function.<p>
2062<dl compact><dt><b>Parameters:</b></dt><dd>
2063  <table border="0" cellspacing="2" cellpadding="0">
2064    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the evp message digest context</td></tr>
2065  </table>
2066</dl>
2067<dl class="return" compact><dt><b>Returns:</b></dt><dd>size output size of the message digest function. </dd></dl>
2068
2069</div>
2070</div><p>
2071<a class="anchor" name="g5183830cf039ea4d9a2c1bd3c539e9af"></a><!-- doxytag: member="evp.c::EVP_md_null" ref="g5183830cf039ea4d9a2c1bd3c539e9af" args="(void)" -->
2072<div class="memitem">
2073<div class="memproto">
2074      <table class="memname">
2075        <tr>
2076          <td class="memname">const EVP_MD* EVP_md_null           </td>
2077          <td>(</td>
2078          <td class="paramtype">void&nbsp;</td>
2079          <td class="paramname">          </td>
2080          <td>&nbsp;)&nbsp;</td>
2081          <td></td>
2082        </tr>
2083      </table>
2084</div>
2085<div class="memdoc">
2086
2087<p>
2088The null message digest<p>
2089<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2090
2091</div>
2092</div><p>
2093<a class="anchor" name="gbea28e9ccb98329a7a76c95e8699221c"></a><!-- doxytag: member="evp.c::EVP_MD_size" ref="gbea28e9ccb98329a7a76c95e8699221c" args="(const EVP_MD *md)" -->
2094<div class="memitem">
2095<div class="memproto">
2096      <table class="memname">
2097        <tr>
2098          <td class="memname">size_t EVP_MD_size           </td>
2099          <td>(</td>
2100          <td class="paramtype">const EVP_MD *&nbsp;</td>
2101          <td class="paramname"> <em>md</em>          </td>
2102          <td>&nbsp;)&nbsp;</td>
2103          <td></td>
2104        </tr>
2105      </table>
2106</div>
2107<div class="memdoc">
2108
2109<p>
2110Return the output size of the message digest function.<p>
2111<dl compact><dt><b>Parameters:</b></dt><dd>
2112  <table border="0" cellspacing="2" cellpadding="0">
2113    <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the evp message</td></tr>
2114  </table>
2115</dl>
2116<dl class="return" compact><dt><b>Returns:</b></dt><dd>size output size of the message digest function. </dd></dl>
2117
2118</div>
2119</div><p>
2120<a class="anchor" name="g104bcd969bcc30dc3e7e77d63a38a87e"></a><!-- doxytag: member="evp.c::EVP_rc2_40_cbc" ref="g104bcd969bcc30dc3e7e77d63a38a87e" args="(void)" -->
2121<div class="memitem">
2122<div class="memproto">
2123      <table class="memname">
2124        <tr>
2125          <td class="memname">const EVP_CIPHER* EVP_rc2_40_cbc           </td>
2126          <td>(</td>
2127          <td class="paramtype">void&nbsp;</td>
2128          <td class="paramname">          </td>
2129          <td>&nbsp;)&nbsp;</td>
2130          <td></td>
2131        </tr>
2132      </table>
2133</div>
2134<div class="memdoc">
2135
2136<p>
2137The RC2 cipher type<p>
2138<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
2139
2140</div>
2141</div><p>
2142<a class="anchor" name="g09cd194a211931839f1e7bb8e578099e"></a><!-- doxytag: member="evp.c::EVP_rc2_64_cbc" ref="g09cd194a211931839f1e7bb8e578099e" args="(void)" -->
2143<div class="memitem">
2144<div class="memproto">
2145      <table class="memname">
2146        <tr>
2147          <td class="memname">const EVP_CIPHER* EVP_rc2_64_cbc           </td>
2148          <td>(</td>
2149          <td class="paramtype">void&nbsp;</td>
2150          <td class="paramname">          </td>
2151          <td>&nbsp;)&nbsp;</td>
2152          <td></td>
2153        </tr>
2154      </table>
2155</div>
2156<div class="memdoc">
2157
2158<p>
2159The RC2 cipher type<p>
2160<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
2161
2162</div>
2163</div><p>
2164<a class="anchor" name="gc7d0f7590921dde70bebeebadd2fec36"></a><!-- doxytag: member="evp.c::EVP_rc2_cbc" ref="gc7d0f7590921dde70bebeebadd2fec36" args="(void)" -->
2165<div class="memitem">
2166<div class="memproto">
2167      <table class="memname">
2168        <tr>
2169          <td class="memname">const EVP_CIPHER* EVP_rc2_cbc           </td>
2170          <td>(</td>
2171          <td class="paramtype">void&nbsp;</td>
2172          <td class="paramname">          </td>
2173          <td>&nbsp;)&nbsp;</td>
2174          <td></td>
2175        </tr>
2176      </table>
2177</div>
2178<div class="memdoc">
2179
2180<p>
2181The RC2 cipher type<p>
2182<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
2183
2184</div>
2185</div><p>
2186<a class="anchor" name="g9cb683240f384ddbd0f3279960af93ba"></a><!-- doxytag: member="evp.c::EVP_rc4" ref="g9cb683240f384ddbd0f3279960af93ba" args="(void)" -->
2187<div class="memitem">
2188<div class="memproto">
2189      <table class="memname">
2190        <tr>
2191          <td class="memname">const EVP_CIPHER* EVP_rc4           </td>
2192          <td>(</td>
2193          <td class="paramtype">void&nbsp;</td>
2194          <td class="paramname">          </td>
2195          <td>&nbsp;)&nbsp;</td>
2196          <td></td>
2197        </tr>
2198      </table>
2199</div>
2200<div class="memdoc">
2201
2202<p>
2203The RC4 cipher type<p>
2204<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
2205
2206</div>
2207</div><p>
2208<a class="anchor" name="ge5cbdfcb5012a07fec8df1d6b9c5d772"></a><!-- doxytag: member="evp.c::EVP_rc4_40" ref="ge5cbdfcb5012a07fec8df1d6b9c5d772" args="(void)" -->
2209<div class="memitem">
2210<div class="memproto">
2211      <table class="memname">
2212        <tr>
2213          <td class="memname">const EVP_CIPHER* EVP_rc4_40           </td>
2214          <td>(</td>
2215          <td class="paramtype">void&nbsp;</td>
2216          <td class="paramname">          </td>
2217          <td>&nbsp;)&nbsp;</td>
2218          <td></td>
2219        </tr>
2220      </table>
2221</div>
2222<div class="memdoc">
2223
2224<p>
2225The RC4-40 cipher type<p>
2226<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC4-40 EVP_CIPHER pointer. </dd></dl>
2227
2228</div>
2229</div><p>
2230<a class="anchor" name="gee62cb107a208bd6984dd767f9feb8c0"></a><!-- doxytag: member="evp.c::EVP_sha" ref="gee62cb107a208bd6984dd767f9feb8c0" args="(void)" -->
2231<div class="memitem">
2232<div class="memproto">
2233      <table class="memname">
2234        <tr>
2235          <td class="memname">const EVP_MD* EVP_sha           </td>
2236          <td>(</td>
2237          <td class="paramtype">void&nbsp;</td>
2238          <td class="paramname">          </td>
2239          <td>&nbsp;)&nbsp;</td>
2240          <td></td>
2241        </tr>
2242      </table>
2243</div>
2244<div class="memdoc">
2245
2246<p>
2247The message digest SHA1<p>
2248<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2249
2250</div>
2251</div><p>
2252<a class="anchor" name="ga090d659a494a10525e38d272efb01ae"></a><!-- doxytag: member="evp.c::EVP_sha1" ref="ga090d659a494a10525e38d272efb01ae" args="(void)" -->
2253<div class="memitem">
2254<div class="memproto">
2255      <table class="memname">
2256        <tr>
2257          <td class="memname">const EVP_MD* EVP_sha1           </td>
2258          <td>(</td>
2259          <td class="paramtype">void&nbsp;</td>
2260          <td class="paramname">          </td>
2261          <td>&nbsp;)&nbsp;</td>
2262          <td></td>
2263        </tr>
2264      </table>
2265</div>
2266<div class="memdoc">
2267
2268<p>
2269The message digest SHA1<p>
2270<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2271
2272</div>
2273</div><p>
2274<a class="anchor" name="gfe55e56742a9b9ecffdaef7e95a6707a"></a><!-- doxytag: member="evp.c::EVP_sha256" ref="gfe55e56742a9b9ecffdaef7e95a6707a" args="(void)" -->
2275<div class="memitem">
2276<div class="memproto">
2277      <table class="memname">
2278        <tr>
2279          <td class="memname">const EVP_MD* EVP_sha256           </td>
2280          <td>(</td>
2281          <td class="paramtype">void&nbsp;</td>
2282          <td class="paramname">          </td>
2283          <td>&nbsp;)&nbsp;</td>
2284          <td></td>
2285        </tr>
2286      </table>
2287</div>
2288<div class="memdoc">
2289
2290<p>
2291The message digest SHA256<p>
2292<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2293
2294</div>
2295</div><p>
2296<a class="anchor" name="g031405a10c84711b9a9699fadc8dbf2a"></a><!-- doxytag: member="evp.c::EVP_sha384" ref="g031405a10c84711b9a9699fadc8dbf2a" args="(void)" -->
2297<div class="memitem">
2298<div class="memproto">
2299      <table class="memname">
2300        <tr>
2301          <td class="memname">const EVP_MD* EVP_sha384           </td>
2302          <td>(</td>
2303          <td class="paramtype">void&nbsp;</td>
2304          <td class="paramname">          </td>
2305          <td>&nbsp;)&nbsp;</td>
2306          <td></td>
2307        </tr>
2308      </table>
2309</div>
2310<div class="memdoc">
2311
2312<p>
2313The message digest SHA384<p>
2314<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2315
2316</div>
2317</div><p>
2318<a class="anchor" name="gceda0d5da59b56159d2e3515039a46ce"></a><!-- doxytag: member="evp.c::EVP_sha512" ref="gceda0d5da59b56159d2e3515039a46ce" args="(void)" -->
2319<div class="memitem">
2320<div class="memproto">
2321      <table class="memname">
2322        <tr>
2323          <td class="memname">const EVP_MD* EVP_sha512           </td>
2324          <td>(</td>
2325          <td class="paramtype">void&nbsp;</td>
2326          <td class="paramname">          </td>
2327          <td>&nbsp;)&nbsp;</td>
2328          <td></td>
2329        </tr>
2330      </table>
2331</div>
2332<div class="memdoc">
2333
2334<p>
2335The message digest SHA512<p>
2336<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
2337
2338</div>
2339</div><p>
2340<a class="anchor" name="g769121c112a501748233bda8345cb47a"></a><!-- doxytag: member="evp-crypt.c::EVP_wincrypt_des_ede3_cbc" ref="g769121c112a501748233bda8345cb47a" args="(void)" -->
2341<div class="memitem">
2342<div class="memproto">
2343      <table class="memname">
2344        <tr>
2345          <td class="memname">const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc           </td>
2346          <td>(</td>
2347          <td class="paramtype">void&nbsp;</td>
2348          <td class="paramname">          </td>
2349          <td>&nbsp;)&nbsp;</td>
2350          <td></td>
2351        </tr>
2352      </table>
2353</div>
2354<div class="memdoc">
2355
2356<p>
2357The tripple DES cipher type (Micrsoft crypt provider)<p>
2358<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
2359
2360</div>
2361</div><p>
2362</div>
2363<hr size="1"><address style="text-align: right;"><small>
2364Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
2365</body>
2366</html>
2367