<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>mbed TLS v2.7.8: md4.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">mbed TLS v2.7.8 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">md4.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>MD4 message digest algorithm (hash function) <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="config_8h_source.html">config.h</a>"</code><br /> <code>#include <stddef.h></code><br /> <code>#include <stdint.h></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for md4.h:</div> <div class="dyncontent"> <div class="center"><img src="md4_8h__incl.png" border="0" usemap="#md4_8h" alt=""/></div> <map name="md4_8h" id="md4_8h"> <area shape="rect" id="node2" href="config_8h.html" title="Configuration options (set of defines) " alt="" coords="35,80,138,107"/> <area shape="rect" id="node3" href="check__config_8h.html" title="Consistency checks for configuration options. " alt="" coords="5,155,168,181"/> </map> </div> </div> <p><a href="md4_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">MD4 context structure. <a href="structmbedtls__md4__context.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a4177a3351013607e006393db8bd0de13"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a4177a3351013607e006393db8bd0de13">MBEDTLS_ERR_MD4_HW_ACCEL_FAILED</a>   -0x002D</td></tr> <tr class="separator:a4177a3351013607e006393db8bd0de13"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9f53b232ef244efb301233d111930dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a></td></tr> <tr class="separator:aa9f53b232ef244efb301233d111930dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa9f53b232ef244efb301233d111930dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a></td></tr> <tr class="separator:aa9f53b232ef244efb301233d111930dc"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:abfef5f8247f877eeb22a8a4c50b113bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#abfef5f8247f877eeb22a8a4c50b113bf">mbedtls_md4_init</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx)</td></tr> <tr class="memdesc:abfef5f8247f877eeb22a8a4c50b113bf"><td class="mdescLeft"> </td><td class="mdescRight">Initialize MD4 context. <a href="#abfef5f8247f877eeb22a8a4c50b113bf">More...</a><br /></td></tr> <tr class="separator:abfef5f8247f877eeb22a8a4c50b113bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56a836dc38098767dd9e7f80006ffb6e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a56a836dc38098767dd9e7f80006ffb6e">mbedtls_md4_free</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx)</td></tr> <tr class="memdesc:a56a836dc38098767dd9e7f80006ffb6e"><td class="mdescLeft"> </td><td class="mdescRight">Clear MD4 context. <a href="#a56a836dc38098767dd9e7f80006ffb6e">More...</a><br /></td></tr> <tr class="separator:a56a836dc38098767dd9e7f80006ffb6e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed32d4dd6d71dd04c3331e97df0117b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#aed32d4dd6d71dd04c3331e97df0117b8">mbedtls_md4_clone</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *dst, const <a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *src)</td></tr> <tr class="memdesc:aed32d4dd6d71dd04c3331e97df0117b8"><td class="mdescLeft"> </td><td class="mdescRight">Clone (the state of) an MD4 context. <a href="#aed32d4dd6d71dd04c3331e97df0117b8">More...</a><br /></td></tr> <tr class="separator:aed32d4dd6d71dd04c3331e97df0117b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2490d34c64487efd1820c0eca963408f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a2490d34c64487efd1820c0eca963408f">mbedtls_md4_starts_ret</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx)</td></tr> <tr class="memdesc:a2490d34c64487efd1820c0eca963408f"><td class="mdescLeft"> </td><td class="mdescRight">MD4 context setup. <a href="#a2490d34c64487efd1820c0eca963408f">More...</a><br /></td></tr> <tr class="separator:a2490d34c64487efd1820c0eca963408f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d14a0483b34448d0a6996778216c45b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a8d14a0483b34448d0a6996778216c45b">mbedtls_md4_update_ret</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, const unsigned char *input, size_t ilen)</td></tr> <tr class="memdesc:a8d14a0483b34448d0a6996778216c45b"><td class="mdescLeft"> </td><td class="mdescRight">MD4 process buffer. <a href="#a8d14a0483b34448d0a6996778216c45b">More...</a><br /></td></tr> <tr class="separator:a8d14a0483b34448d0a6996778216c45b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab1bcf8a20baf1f2ddf532e86393c9a36"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#ab1bcf8a20baf1f2ddf532e86393c9a36">mbedtls_md4_finish_ret</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, unsigned char output[16])</td></tr> <tr class="memdesc:ab1bcf8a20baf1f2ddf532e86393c9a36"><td class="mdescLeft"> </td><td class="mdescRight">MD4 final digest. <a href="#ab1bcf8a20baf1f2ddf532e86393c9a36">More...</a><br /></td></tr> <tr class="separator:ab1bcf8a20baf1f2ddf532e86393c9a36"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af484c3fb8a49e53c9e721af2d09e7d6f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#af484c3fb8a49e53c9e721af2d09e7d6f">mbedtls_internal_md4_process</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, const unsigned char data[64])</td></tr> <tr class="memdesc:af484c3fb8a49e53c9e721af2d09e7d6f"><td class="mdescLeft"> </td><td class="mdescRight">MD4 process data block (internal use only) <a href="#af484c3fb8a49e53c9e721af2d09e7d6f">More...</a><br /></td></tr> <tr class="separator:af484c3fb8a49e53c9e721af2d09e7d6f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afdf032aa51f519eb77e6c2af8cf7b6d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#afdf032aa51f519eb77e6c2af8cf7b6d8">mbedtls_md4_starts</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx)</td></tr> <tr class="memdesc:afdf032aa51f519eb77e6c2af8cf7b6d8"><td class="mdescLeft"> </td><td class="mdescRight">MD4 context setup. <a href="#afdf032aa51f519eb77e6c2af8cf7b6d8">More...</a><br /></td></tr> <tr class="separator:afdf032aa51f519eb77e6c2af8cf7b6d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee5e236065f08b3089aaea827aceb580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#aee5e236065f08b3089aaea827aceb580">mbedtls_md4_update</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, const unsigned char *input, size_t ilen)</td></tr> <tr class="memdesc:aee5e236065f08b3089aaea827aceb580"><td class="mdescLeft"> </td><td class="mdescRight">MD4 process buffer. <a href="#aee5e236065f08b3089aaea827aceb580">More...</a><br /></td></tr> <tr class="separator:aee5e236065f08b3089aaea827aceb580"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abbb853ff286daac5f3d0558b95753cfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#abbb853ff286daac5f3d0558b95753cfc">mbedtls_md4_finish</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, unsigned char output[16])</td></tr> <tr class="memdesc:abbb853ff286daac5f3d0558b95753cfc"><td class="mdescLeft"> </td><td class="mdescRight">MD4 final digest. <a href="#abbb853ff286daac5f3d0558b95753cfc">More...</a><br /></td></tr> <tr class="separator:abbb853ff286daac5f3d0558b95753cfc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13f4aeced788a3980549ff434adf974f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a13f4aeced788a3980549ff434adf974f">mbedtls_md4_process</a> (<a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> *ctx, const unsigned char data[64])</td></tr> <tr class="memdesc:a13f4aeced788a3980549ff434adf974f"><td class="mdescLeft"> </td><td class="mdescRight">MD4 process data block (internal use only) <a href="#a13f4aeced788a3980549ff434adf974f">More...</a><br /></td></tr> <tr class="separator:a13f4aeced788a3980549ff434adf974f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a121498a3f27581a1e168229d4c75548f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#a121498a3f27581a1e168229d4c75548f">mbedtls_md4_ret</a> (const unsigned char *input, size_t ilen, unsigned char output[16])</td></tr> <tr class="memdesc:a121498a3f27581a1e168229d4c75548f"><td class="mdescLeft"> </td><td class="mdescRight">Output = MD4( input buffer ) <a href="#a121498a3f27581a1e168229d4c75548f">More...</a><br /></td></tr> <tr class="separator:a121498a3f27581a1e168229d4c75548f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4b520f5ec4f4d52ccc9c58c98906fb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#af4b520f5ec4f4d52ccc9c58c98906fb6">mbedtls_md4</a> (const unsigned char *input, size_t ilen, unsigned char output[16])</td></tr> <tr class="memdesc:af4b520f5ec4f4d52ccc9c58c98906fb6"><td class="mdescLeft"> </td><td class="mdescRight">Output = MD4( input buffer ) <a href="#af4b520f5ec4f4d52ccc9c58c98906fb6">More...</a><br /></td></tr> <tr class="separator:af4b520f5ec4f4d52ccc9c58c98906fb6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adba10aed213ce066fe66e70d46267de4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="md4_8h.html#adba10aed213ce066fe66e70d46267de4">mbedtls_md4_self_test</a> (int verbose)</td></tr> <tr class="memdesc:adba10aed213ce066fe66e70d46267de4"><td class="mdescLeft"> </td><td class="mdescRight">Checkup routine. <a href="#adba10aed213ce066fe66e70d46267de4">More...</a><br /></td></tr> <tr class="separator:adba10aed213ce066fe66e70d46267de4"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>MD4 message digest algorithm (hash function) </p> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> <p class="definition">Definition in file <a class="el" href="md4_8h_source.html">md4.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="aa9f53b232ef244efb301233d111930dc"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa9f53b232ef244efb301233d111930dc">◆ </a></span>MBEDTLS_DEPRECATED <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_DEPRECATED</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="md4_8h_source.html#l00275">275</a> of file <a class="el" href="md4_8h_source.html">md4.h</a>.</p> </div> </div> <a id="aa9f53b232ef244efb301233d111930dc"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa9f53b232ef244efb301233d111930dc">◆ </a></span>MBEDTLS_DEPRECATED <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_DEPRECATED</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="md4_8h_source.html#l00275">275</a> of file <a class="el" href="md4_8h_source.html">md4.h</a>.</p> </div> </div> <a id="a4177a3351013607e006393db8bd0de13"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4177a3351013607e006393db8bd0de13">◆ </a></span>MBEDTLS_ERR_MD4_HW_ACCEL_FAILED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_ERR_MD4_HW_ACCEL_FAILED   -0x002D</td> </tr> </table> </div><div class="memdoc"> <p>MD4 hardware accelerator failed </p> <p class="definition">Definition at line <a class="el" href="md4_8h_source.html#l00041">41</a> of file <a class="el" href="md4_8h_source.html">md4.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="af484c3fb8a49e53c9e721af2d09e7d6f"></a> <h2 class="memtitle"><span class="permalink"><a href="#af484c3fb8a49e53c9e721af2d09e7d6f">◆ </a></span>mbedtls_internal_md4_process()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_internal_md4_process </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char </td> <td class="paramname"><em>data</em>[64] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 process data block (internal use only) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">data</td><td>buffer holding one block of data</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if successful</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="af4b520f5ec4f4d52ccc9c58c98906fb6"></a> <h2 class="memtitle"><span class="permalink"><a href="#af4b520f5ec4f4d52ccc9c58c98906fb6">◆ </a></span>mbedtls_md4()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_md4 </td> <td>(</td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>ilen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"><em>output</em>[16] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Output = MD4( input buffer ) </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000018">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="md4_8h.html#a121498a3f27581a1e168229d4c75548f" title="Output = MD4( input buffer ) ">mbedtls_md4_ret()</a> in 2.7.0</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">input</td><td>buffer holding the data </td></tr> <tr><td class="paramname">ilen</td><td>length of the input data </td></tr> <tr><td class="paramname">output</td><td>MD4 checksum result</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="aed32d4dd6d71dd04c3331e97df0117b8"></a> <h2 class="memtitle"><span class="permalink"><a href="#aed32d4dd6d71dd04c3331e97df0117b8">◆ </a></span>mbedtls_md4_clone()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_md4_clone </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Clone (the state of) an MD4 context. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dst</td><td>The destination context </td></tr> <tr><td class="paramname">src</td><td>The context to be cloned</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="abbb853ff286daac5f3d0558b95753cfc"></a> <h2 class="memtitle"><span class="permalink"><a href="#abbb853ff286daac5f3d0558b95753cfc">◆ </a></span>mbedtls_md4_finish()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_md4_finish </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"><em>output</em>[16] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 final digest. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000016">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="md4_8h.html#ab1bcf8a20baf1f2ddf532e86393c9a36" title="MD4 final digest. ">mbedtls_md4_finish_ret()</a> in 2.7.0</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">output</td><td>MD4 checksum result</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="ab1bcf8a20baf1f2ddf532e86393c9a36"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab1bcf8a20baf1f2ddf532e86393c9a36">◆ </a></span>mbedtls_md4_finish_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_md4_finish_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"><em>output</em>[16] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 final digest. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">output</td><td>MD4 checksum result</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if successful</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="a56a836dc38098767dd9e7f80006ffb6e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a56a836dc38098767dd9e7f80006ffb6e">◆ </a></span>mbedtls_md4_free()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_md4_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Clear MD4 context. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context to be cleared</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="abfef5f8247f877eeb22a8a4c50b113bf"></a> <h2 class="memtitle"><span class="permalink"><a href="#abfef5f8247f877eeb22a8a4c50b113bf">◆ </a></span>mbedtls_md4_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_md4_init </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize MD4 context. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context to be initialized</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="a13f4aeced788a3980549ff434adf974f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a13f4aeced788a3980549ff434adf974f">◆ </a></span>mbedtls_md4_process()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_md4_process </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char </td> <td class="paramname"><em>data</em>[64] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 process data block (internal use only) </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000017">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="md4_8h.html#af484c3fb8a49e53c9e721af2d09e7d6f" title="MD4 process data block (internal use only) ">mbedtls_internal_md4_process()</a> in 2.7.0</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">data</td><td>buffer holding one block of data</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="a121498a3f27581a1e168229d4c75548f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a121498a3f27581a1e168229d4c75548f">◆ </a></span>mbedtls_md4_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_md4_ret </td> <td>(</td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>ilen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char </td> <td class="paramname"><em>output</em>[16] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Output = MD4( input buffer ) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">input</td><td>buffer holding the data </td></tr> <tr><td class="paramname">ilen</td><td>length of the input data </td></tr> <tr><td class="paramname">output</td><td>MD4 checksum result</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if successful</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="adba10aed213ce066fe66e70d46267de4"></a> <h2 class="memtitle"><span class="permalink"><a href="#adba10aed213ce066fe66e70d46267de4">◆ </a></span>mbedtls_md4_self_test()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_md4_self_test </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>verbose</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Checkup routine. </p> <dl class="section return"><dt>Returns</dt><dd>0 if successful, or 1 if the test failed</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="afdf032aa51f519eb77e6c2af8cf7b6d8"></a> <h2 class="memtitle"><span class="permalink"><a href="#afdf032aa51f519eb77e6c2af8cf7b6d8">◆ </a></span>mbedtls_md4_starts()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_md4_starts </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 context setup. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="md4_8h.html#a2490d34c64487efd1820c0eca963408f" title="MD4 context setup. ">mbedtls_md4_starts_ret()</a> in 2.7.0</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>context to be initialized</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="a2490d34c64487efd1820c0eca963408f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2490d34c64487efd1820c0eca963408f">◆ </a></span>mbedtls_md4_starts_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_md4_starts_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 context setup. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>context to be initialized</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if successful</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="aee5e236065f08b3089aaea827aceb580"></a> <h2 class="memtitle"><span class="permalink"><a href="#aee5e236065f08b3089aaea827aceb580">◆ </a></span>mbedtls_md4_update()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> void mbedtls_md4_update </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>ilen</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 process buffer. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="md4_8h.html#a8d14a0483b34448d0a6996778216c45b" title="MD4 process buffer. ">mbedtls_md4_update_ret()</a> in 2.7.0</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">input</td><td>buffer holding the data </td></tr> <tr><td class="paramname">ilen</td><td>length of the input data</td></tr> </table> </dd> </dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> <a id="a8d14a0483b34448d0a6996778216c45b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8d14a0483b34448d0a6996778216c45b">◆ </a></span>mbedtls_md4_update_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_md4_update_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__md4__context.html">mbedtls_md4_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>ilen</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>MD4 process buffer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>MD4 context </td></tr> <tr><td class="paramname">input</td><td>buffer holding the data </td></tr> <tr><td class="paramname">ilen</td><td>length of the input data</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if successful</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>MD4 is considered a weak message digest and its use constitutes a security risk. We recommend considering stronger message digests instead. </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jan 1 2019 18:27:18 for mbed TLS v2.7.8 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>