<!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.6: sha256.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.6 </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">sha256.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>The SHA-224 and SHA-256 cryptographic 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 sha256.h:</div> <div class="dyncontent"> <div class="center"><img src="sha256_8h__incl.png" border="0" usemap="#sha256_8h" alt=""/></div> <map name="sha256_8h" id="sha256_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="sha256_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__sha256__context.html">mbedtls_sha256_context</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The SHA-256 context structure. <a href="structmbedtls__sha256__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:a157a0700d50272c834905a430287996d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#a157a0700d50272c834905a430287996d">MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED</a>   -0x0037</td></tr> <tr class="separator:a157a0700d50272c834905a430287996d"><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="sha256_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="sha256_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:a7c7c355490ffac9fb942cab02361932c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#a7c7c355490ffac9fb942cab02361932c">mbedtls_sha256_init</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx)</td></tr> <tr class="memdesc:a7c7c355490ffac9fb942cab02361932c"><td class="mdescLeft"> </td><td class="mdescRight">This function initializes a SHA-256 context. <a href="#a7c7c355490ffac9fb942cab02361932c">More...</a><br /></td></tr> <tr class="separator:a7c7c355490ffac9fb942cab02361932c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b9b9823b990de9685820fe59f1d9e1d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#a6b9b9823b990de9685820fe59f1d9e1d">mbedtls_sha256_free</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx)</td></tr> <tr class="memdesc:a6b9b9823b990de9685820fe59f1d9e1d"><td class="mdescLeft"> </td><td class="mdescRight">This function clears a SHA-256 context. <a href="#a6b9b9823b990de9685820fe59f1d9e1d">More...</a><br /></td></tr> <tr class="separator:a6b9b9823b990de9685820fe59f1d9e1d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9a43913c6b6804ed84b432665af01f35"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#a9a43913c6b6804ed84b432665af01f35">mbedtls_sha256_clone</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *dst, const <a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *src)</td></tr> <tr class="memdesc:a9a43913c6b6804ed84b432665af01f35"><td class="mdescLeft"> </td><td class="mdescRight">This function clones the state of a SHA-256 context. <a href="#a9a43913c6b6804ed84b432665af01f35">More...</a><br /></td></tr> <tr class="separator:a9a43913c6b6804ed84b432665af01f35"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af7feb61e3727df3ea4bb1bb08537934e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#af7feb61e3727df3ea4bb1bb08537934e">mbedtls_sha256_starts_ret</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, int is224)</td></tr> <tr class="memdesc:af7feb61e3727df3ea4bb1bb08537934e"><td class="mdescLeft"> </td><td class="mdescRight">This function starts a SHA-224 or SHA-256 checksum calculation. <a href="#af7feb61e3727df3ea4bb1bb08537934e">More...</a><br /></td></tr> <tr class="separator:af7feb61e3727df3ea4bb1bb08537934e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afeaa391b98ad340ed3b2233fa4ca665d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#afeaa391b98ad340ed3b2233fa4ca665d">mbedtls_sha256_update_ret</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, const unsigned char *input, size_t ilen)</td></tr> <tr class="memdesc:afeaa391b98ad340ed3b2233fa4ca665d"><td class="mdescLeft"> </td><td class="mdescRight">This function feeds an input buffer into an ongoing SHA-256 checksum calculation. <a href="#afeaa391b98ad340ed3b2233fa4ca665d">More...</a><br /></td></tr> <tr class="separator:afeaa391b98ad340ed3b2233fa4ca665d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9537ce07447c872e654ad87d144f1cd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#ad9537ce07447c872e654ad87d144f1cd">mbedtls_sha256_finish_ret</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, unsigned char output[32])</td></tr> <tr class="memdesc:ad9537ce07447c872e654ad87d144f1cd"><td class="mdescLeft"> </td><td class="mdescRight">This function finishes the SHA-256 operation, and writes the result to the output buffer. <a href="#ad9537ce07447c872e654ad87d144f1cd">More...</a><br /></td></tr> <tr class="separator:ad9537ce07447c872e654ad87d144f1cd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d35cd23d4ede07db7c6fee054045efb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#a7d35cd23d4ede07db7c6fee054045efb">mbedtls_internal_sha256_process</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, const unsigned char data[64])</td></tr> <tr class="memdesc:a7d35cd23d4ede07db7c6fee054045efb"><td class="mdescLeft"> </td><td class="mdescRight">This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. <a href="#a7d35cd23d4ede07db7c6fee054045efb">More...</a><br /></td></tr> <tr class="separator:a7d35cd23d4ede07db7c6fee054045efb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4efbf5f18b8bd5d103c1ceb850fe7a4"><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="sha256_8h.html#ac4efbf5f18b8bd5d103c1ceb850fe7a4">mbedtls_sha256_starts</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, int is224)</td></tr> <tr class="memdesc:ac4efbf5f18b8bd5d103c1ceb850fe7a4"><td class="mdescLeft"> </td><td class="mdescRight">This function starts a SHA-256 checksum calculation. <a href="#ac4efbf5f18b8bd5d103c1ceb850fe7a4">More...</a><br /></td></tr> <tr class="separator:ac4efbf5f18b8bd5d103c1ceb850fe7a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ab0e1921b7ae14b110c4431a0b816f9"><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="sha256_8h.html#a7ab0e1921b7ae14b110c4431a0b816f9">mbedtls_sha256_update</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, const unsigned char *input, size_t ilen)</td></tr> <tr class="memdesc:a7ab0e1921b7ae14b110c4431a0b816f9"><td class="mdescLeft"> </td><td class="mdescRight">This function feeds an input buffer into an ongoing SHA-256 checksum calculation. <a href="#a7ab0e1921b7ae14b110c4431a0b816f9">More...</a><br /></td></tr> <tr class="separator:a7ab0e1921b7ae14b110c4431a0b816f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a759d3774f72abf82cd984a6ad29e19b1"><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="sha256_8h.html#a759d3774f72abf82cd984a6ad29e19b1">mbedtls_sha256_finish</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, unsigned char output[32])</td></tr> <tr class="memdesc:a759d3774f72abf82cd984a6ad29e19b1"><td class="mdescLeft"> </td><td class="mdescRight">This function finishes the SHA-256 operation, and writes the result to the output buffer. <a href="#a759d3774f72abf82cd984a6ad29e19b1">More...</a><br /></td></tr> <tr class="separator:a759d3774f72abf82cd984a6ad29e19b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12db056a85dc91162ebfbe41c550c1de"><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="sha256_8h.html#a12db056a85dc91162ebfbe41c550c1de">mbedtls_sha256_process</a> (<a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> *ctx, const unsigned char data[64])</td></tr> <tr class="memdesc:a12db056a85dc91162ebfbe41c550c1de"><td class="mdescLeft"> </td><td class="mdescRight">This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. <a href="#a12db056a85dc91162ebfbe41c550c1de">More...</a><br /></td></tr> <tr class="separator:a12db056a85dc91162ebfbe41c550c1de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad283d3384b32e1e40edc6c22be359296"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#ad283d3384b32e1e40edc6c22be359296">mbedtls_sha256_ret</a> (const unsigned char *input, size_t ilen, unsigned char output[32], int is224)</td></tr> <tr class="memdesc:ad283d3384b32e1e40edc6c22be359296"><td class="mdescLeft"> </td><td class="mdescRight">This function calculates the SHA-224 or SHA-256 checksum of a buffer. <a href="#ad283d3384b32e1e40edc6c22be359296">More...</a><br /></td></tr> <tr class="separator:ad283d3384b32e1e40edc6c22be359296"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a25c94940f4217c4dd7ad6a4e7da61b47"><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="sha256_8h.html#a25c94940f4217c4dd7ad6a4e7da61b47">mbedtls_sha256</a> (const unsigned char *input, size_t ilen, unsigned char output[32], int is224)</td></tr> <tr class="memdesc:a25c94940f4217c4dd7ad6a4e7da61b47"><td class="mdescLeft"> </td><td class="mdescRight">This function calculates the SHA-224 or SHA-256 checksum of a buffer. <a href="#a25c94940f4217c4dd7ad6a4e7da61b47">More...</a><br /></td></tr> <tr class="separator:a25c94940f4217c4dd7ad6a4e7da61b47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1d395a98568e0c71fe4740f73ba8cd7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sha256_8h.html#af1d395a98568e0c71fe4740f73ba8cd7">mbedtls_sha256_self_test</a> (int verbose)</td></tr> <tr class="memdesc:af1d395a98568e0c71fe4740f73ba8cd7"><td class="mdescLeft"> </td><td class="mdescRight">The SHA-224 and SHA-256 checkup routine. <a href="#af1d395a98568e0c71fe4740f73ba8cd7">More...</a><br /></td></tr> <tr class="separator:af1d395a98568e0c71fe4740f73ba8cd7"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>The SHA-224 and SHA-256 cryptographic hash function. </p> <p class="definition">Definition in file <a class="el" href="sha256_8h_source.html">sha256.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="sha256_8h_source.html#l00237">237</a> of file <a class="el" href="sha256_8h_source.html">sha256.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="sha256_8h_source.html#l00237">237</a> of file <a class="el" href="sha256_8h_source.html">sha256.h</a>.</p> </div> </div> <a id="a157a0700d50272c834905a430287996d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a157a0700d50272c834905a430287996d">◆ </a></span>MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED   -0x0037</td> </tr> </table> </div><div class="memdoc"> <p>SHA-256 hardware accelerator failed </p> <p class="definition">Definition at line <a class="el" href="sha256_8h_source.html#l00036">36</a> of file <a class="el" href="sha256_8h_source.html">sha256.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a7d35cd23d4ede07db7c6fee054045efb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7d35cd23d4ede07db7c6fee054045efb">◆ </a></span>mbedtls_internal_sha256_process()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_internal_sha256_process </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>The SHA-256 context. </td></tr> <tr><td class="paramname">data</td><td>The buffer holding one block of data.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl> </div> </div> <a id="a25c94940f4217c4dd7ad6a4e7da61b47"></a> <h2 class="memtitle"><span class="permalink"><a href="#a25c94940f4217c4dd7ad6a4e7da61b47">◆ </a></span>mbedtls_sha256()</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_sha256 </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>[32], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>is224</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function calculates the SHA-224 or SHA-256 checksum of a buffer. </p> <p>The function allocates the context, performs the calculation, and frees the context.</p> <p>The SHA-256 result is calculated as output = SHA-256(input buffer).</p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000051">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="sha256_8h.html#ad283d3384b32e1e40edc6c22be359296" title="This function calculates the SHA-224 or SHA-256 checksum of a buffer. ">mbedtls_sha256_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>The buffer holding the data. </td></tr> <tr><td class="paramname">ilen</td><td>The length of the input data. </td></tr> <tr><td class="paramname">output</td><td>The SHA-224 or SHA-256 checksum result. </td></tr> <tr><td class="paramname">is224</td><td>Determines which function to use. <ul> <li> 0: Use SHA-256. </li> <li> 1: Use SHA-224.</li> </ul> </td></tr> </table> </dd> </dl> </div> </div> <a id="a9a43913c6b6804ed84b432665af01f35"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9a43913c6b6804ed84b432665af01f35">◆ </a></span>mbedtls_sha256_clone()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_sha256_clone </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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__sha256__context.html">mbedtls_sha256_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>This function clones the state of a SHA-256 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 clone. </td></tr> </table> </dd> </dl> </div> </div> <a id="a759d3774f72abf82cd984a6ad29e19b1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a759d3774f72abf82cd984a6ad29e19b1">◆ </a></span>mbedtls_sha256_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_sha256_finish </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>[32] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function finishes the SHA-256 operation, and writes the result to the output buffer. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000049">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="sha256_8h.html#ad9537ce07447c872e654ad87d144f1cd" title="This function finishes the SHA-256 operation, and writes the result to the output buffer...">mbedtls_sha256_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>The SHA-256 context. </td></tr> <tr><td class="paramname">output</td><td>The SHA-224or SHA-256 checksum result. </td></tr> </table> </dd> </dl> </div> </div> <a id="ad9537ce07447c872e654ad87d144f1cd"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad9537ce07447c872e654ad87d144f1cd">◆ </a></span>mbedtls_sha256_finish_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_sha256_finish_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>[32] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function finishes the SHA-256 operation, and writes the result to the output buffer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>The SHA-256 context. </td></tr> <tr><td class="paramname">output</td><td>The SHA-224 or SHA-256 checksum result.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl> </div> </div> <a id="a6b9b9823b990de9685820fe59f1d9e1d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6b9b9823b990de9685820fe59f1d9e1d">◆ </a></span>mbedtls_sha256_free()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_sha256_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function clears a SHA-256 context. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>The SHA-256 context to clear. </td></tr> </table> </dd> </dl> </div> </div> <a id="a7c7c355490ffac9fb942cab02361932c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7c7c355490ffac9fb942cab02361932c">◆ </a></span>mbedtls_sha256_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_sha256_init </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function initializes a SHA-256 context. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>The SHA-256 context to initialize. </td></tr> </table> </dd> </dl> </div> </div> <a id="a12db056a85dc91162ebfbe41c550c1de"></a> <h2 class="memtitle"><span class="permalink"><a href="#a12db056a85dc91162ebfbe41c550c1de">◆ </a></span>mbedtls_sha256_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_sha256_process </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000050">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="sha256_8h.html#a7d35cd23d4ede07db7c6fee054045efb" title="This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only. ">mbedtls_internal_sha256_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>The SHA-256 context. </td></tr> <tr><td class="paramname">data</td><td>The buffer holding one block of data. </td></tr> </table> </dd> </dl> </div> </div> <a id="ad283d3384b32e1e40edc6c22be359296"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad283d3384b32e1e40edc6c22be359296">◆ </a></span>mbedtls_sha256_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_sha256_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>[32], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>is224</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function calculates the SHA-224 or SHA-256 checksum of a buffer. </p> <p>The function allocates the context, performs the calculation, and frees the context.</p> <p>The SHA-256 result is calculated as output = SHA-256(input buffer).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">input</td><td>The buffer holding the input data. </td></tr> <tr><td class="paramname">ilen</td><td>The length of the input data. </td></tr> <tr><td class="paramname">output</td><td>The SHA-224 or SHA-256 checksum result. </td></tr> <tr><td class="paramname">is224</td><td>Determines which function to use. <ul> <li> 0: Use SHA-256. </li> <li> 1: Use SHA-224.</li> </ul> </td></tr> </table> </dd> </dl> </div> </div> <a id="af1d395a98568e0c71fe4740f73ba8cd7"></a> <h2 class="memtitle"><span class="permalink"><a href="#af1d395a98568e0c71fe4740f73ba8cd7">◆ </a></span>mbedtls_sha256_self_test()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_sha256_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>The SHA-224 and SHA-256 checkup routine. </p> <dl class="section return"><dt>Returns</dt><dd><code>0</code> on success, or <code>1</code> on failure. </dd></dl> </div> </div> <a id="ac4efbf5f18b8bd5d103c1ceb850fe7a4"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac4efbf5f18b8bd5d103c1ceb850fe7a4">◆ </a></span>mbedtls_sha256_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_sha256_starts </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>is224</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function starts a SHA-256 checksum calculation. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000047">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="sha256_8h.html#af7feb61e3727df3ea4bb1bb08537934e" title="This function starts a SHA-224 or SHA-256 checksum calculation. ">mbedtls_sha256_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>The SHA-256 context to initialize. </td></tr> <tr><td class="paramname">is224</td><td>Determines which function to use. <ul> <li> 0: Use SHA-256. </li> <li> 1: Use SHA-224.</li> </ul> </td></tr> </table> </dd> </dl> </div> </div> <a id="af7feb61e3727df3ea4bb1bb08537934e"></a> <h2 class="memtitle"><span class="permalink"><a href="#af7feb61e3727df3ea4bb1bb08537934e">◆ </a></span>mbedtls_sha256_starts_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_sha256_starts_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_context</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>is224</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function starts a SHA-224 or SHA-256 checksum calculation. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>The context to initialize. </td></tr> <tr><td class="paramname">is224</td><td>Determines which function to use. <ul> <li> 0: Use SHA-256. </li> <li> 1: Use SHA-224.</li> </ul> </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><code>0</code> on success. </dd></dl> </div> </div> <a id="a7ab0e1921b7ae14b110c4431a0b816f9"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7ab0e1921b7ae14b110c4431a0b816f9">◆ </a></span>mbedtls_sha256_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_sha256_update </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>This function feeds an input buffer into an ongoing SHA-256 checksum calculation. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000048">Deprecated:</a></b></dt><dd>Superseded by <a class="el" href="sha256_8h.html#afeaa391b98ad340ed3b2233fa4ca665d" title="This function feeds an input buffer into an ongoing SHA-256 checksum calculation. ...">mbedtls_sha256_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>The SHA-256 context to initialize. </td></tr> <tr><td class="paramname">input</td><td>The buffer holding the data. </td></tr> <tr><td class="paramname">ilen</td><td>The length of the input data. </td></tr> </table> </dd> </dl> </div> </div> <a id="afeaa391b98ad340ed3b2233fa4ca665d"></a> <h2 class="memtitle"><span class="permalink"><a href="#afeaa391b98ad340ed3b2233fa4ca665d">◆ </a></span>mbedtls_sha256_update_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_sha256_update_ret </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__sha256__context.html">mbedtls_sha256_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>This function feeds an input buffer into an ongoing SHA-256 checksum calculation. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>SHA-256 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><code>0</code> on success. </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 12 2018 20:26:59 for mbed TLS v2.7.6 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>