📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 16:01:16
📂
/ (Root)
/
opt
/
alt
/
ruby20
/
share
/
doc
/
ruby
/
capi
/
html
/
d2
/
d24
📍 /opt/alt/ruby20/share/doc/ruby/capi/html/d2/d24
🔄 Refresh
✏️
Editing: sha1_8c.html
Read Only
<!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.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Ruby: ext/digest/sha1/sha1.c 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">Ruby  <span id="projectnumber">2.0.0p648(2015-12-16revision53162)</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript" src="../../menudata.js"></script> <script type="text/javascript" src="../../menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('../../',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="../../dir_31cedd4509e06940f559c1ca2f722e02.html">ext</a></li><li class="navelem"><a class="el" href="../../dir_8462c367d9e69a7809faa14633ccfafa.html">digest</a></li><li class="navelem"><a class="el" href="../../dir_2778d15ab6fead1f9912902f7ff18a29.html">sha1</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">sha1.c File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include "<a class="el" href="../../db/db5/sha1_8h_source.html">sha1.h</a>"</code><br /> <code>#include <assert.h></code><br /> <code>#include <string.h></code><br /> </div> <p><a href="../../d2/d24/sha1_8c_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">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d45/union_c_h_a_r64_l_o_n_g16.html">CHAR64LONG16</a></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:a9e2c8862606a4549edef298248089783"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a9e2c8862606a4549edef298248089783">SHA1HANDSOFF</a>   /* Copies data before messing with it. */</td></tr> <tr class="separator:a9e2c8862606a4549edef298248089783"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adee9dfeb7d4eb839d84dc30b3c6b2500"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#adee9dfeb7d4eb839d84dc30b3c6b2500">_DIAGASSERT</a>(<a class="el" href="../../db/d97/parse_8c.html#a9c9363cead2d8e8616cb63b4eea79655">cond</a>)   <a class="el" href="../../d5/dac/ossl_8h.html#acdcc5aaebf3f273c1762f24a6ece2e5e">assert</a>(<a class="el" href="../../db/d97/parse_8c.html#a9c9363cead2d8e8616cb63b4eea79655">cond</a>)</td></tr> <tr class="separator:adee9dfeb7d4eb839d84dc30b3c6b2500"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1373930110e4f86cb1f4bc6d44a66ee"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(value, bits)   (((value) << (bits)) | ((value) >> (32 - (bits))))</td></tr> <tr class="separator:af1373930110e4f86cb1f4bc6d44a66ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1a75de24d0277c5319098c218efaef2d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a1a75de24d0277c5319098c218efaef2d">blk0</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)</td></tr> <tr class="separator:a1a75de24d0277c5319098c218efaef2d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd06ff24e9f6f5f0a9c32a1cba4b0f9c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)</td></tr> <tr class="separator:abd06ff24e9f6f5f0a9c32a1cba4b0f9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8ac24a09e1273548828d3cc9436f9bc7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a8ac24a09e1273548828d3cc9436f9bc7">R0</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, w, x, y, z, <a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)   z+=((w&(x^y))^y)+<a class="el" href="../../d2/d24/sha1_8c.html#a1a75de24d0277c5319098c218efaef2d">blk0</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x5A827999+rol(v,5);w=rol(w,30);</td></tr> <tr class="separator:a8ac24a09e1273548828d3cc9436f9bc7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2628f8af7bf67ca052200537279f855a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a2628f8af7bf67ca052200537279f855a">R1</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, w, x, y, z, <a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)   z+=((w&(x^y))^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x5A827999+rol(v,5);w=rol(w,30);</td></tr> <tr class="separator:a2628f8af7bf67ca052200537279f855a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a774229b80509be0e9e0a1d9819580224"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a774229b80509be0e9e0a1d9819580224">R2</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, w, x, y, z, <a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)   z+=(w^x^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x6ED9EBA1+rol(v,5);w=rol(w,30);</td></tr> <tr class="separator:a774229b80509be0e9e0a1d9819580224"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0b8b342432d17717ff1020d10cf0eea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#ac0b8b342432d17717ff1020d10cf0eea">R3</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, w, x, y, z, <a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)   z+=(((w|x)&y)|(w&x))+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x8F1BBCDC+rol(v,5);w=rol(w,30);</td></tr> <tr class="separator:ac0b8b342432d17717ff1020d10cf0eea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af77ddc8894422d2af2adbd4e71e55d1f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#af77ddc8894422d2af2adbd4e71e55d1f">R4</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, w, x, y, z, <a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)   z+=(w^x^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0xCA62C1D6+rol(v,5);w=rol(w,30);</td></tr> <tr class="separator:af77ddc8894422d2af2adbd4e71e55d1f"><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:a765224a7076e29680157cfe97611c52d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a765224a7076e29680157cfe97611c52d">SHA1_Transform</a> (<a class="el" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> state[5], <a class="el" href="../../da/d50/vsnprintf_8c.html#a2c212835823e3c54a8ab6d95c652660e">const</a> <a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> buffer[64])</td></tr> <tr class="separator:a765224a7076e29680157cfe97611c52d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac7153ad75aabddd8fa813ea0ed1cdfba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#ac7153ad75aabddd8fa813ea0ed1cdfba">SHA1_Init</a> (<a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> *context)</td></tr> <tr class="separator:ac7153ad75aabddd8fa813ea0ed1cdfba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1440a26c71607309f801bd6c31546d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#ad1440a26c71607309f801bd6c31546d9">SHA1_Update</a> (<a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> *context, <a class="el" href="../../da/d50/vsnprintf_8c.html#a2c212835823e3c54a8ab6d95c652660e">const</a> <a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, size_t len)</td></tr> <tr class="separator:ad1440a26c71607309f801bd6c31546d9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a93f1d45917c82629ba464a398c2cf41f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d24/sha1_8c.html#a93f1d45917c82629ba464a398c2cf41f">SHA1_Finish</a> (<a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> *context, <a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> digest[20])</td></tr> <tr class="separator:a93f1d45917c82629ba464a398c2cf41f"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="adee9dfeb7d4eb839d84dc30b3c6b2500"></a> <h2 class="memtitle"><span class="permalink"><a href="#adee9dfeb7d4eb839d84dc30b3c6b2500">◆ </a></span>_DIAGASSERT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _DIAGASSERT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../db/d97/parse_8c.html#a9c9363cead2d8e8616cb63b4eea79655">cond</a></td><td>)</td> <td>   <a class="el" href="../../d5/dac/ossl_8h.html#acdcc5aaebf3f273c1762f24a6ece2e5e">assert</a>(<a class="el" href="../../db/d97/parse_8c.html#a9c9363cead2d8e8616cb63b4eea79655">cond</a>)</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00035">35</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00247">SHA1_Finish()</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00202">SHA1_Init()</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>, and <a class="el" href="../../d2/d24/sha1_8c_source.html#l00220">SHA1_Update()</a>.</p> </div> </div> <a id="abd06ff24e9f6f5f0a9c32a1cba4b0f9c"></a> <h2 class="memtitle"><span class="permalink"><a href="#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">◆ </a></span>blk</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define blk</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">(block->l[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>&15] = <a class="code" href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block->l[(<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>+13)&15]^block->l[(<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>+8)&15] \</div><div class="line"> ^block->l[(<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>+2)&15]^block->l[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>&15],1))</div><div class="ttc" id="win32ole_8c_html_acb559820d9ca11295b4500f179ef6392"><div class="ttname"><a href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a></div><div class="ttdeci">int i</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d99/win32ole_8c_source.html#l00784">win32ole.c:784</a></div></div> <div class="ttc" id="sha1_8c_html_af1373930110e4f86cb1f4bc6d44a66ee"><div class="ttname"><a href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a></div><div class="ttdeci">#define rol(value, bits)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d24/sha1_8c_source.html#l00046">sha1.c:46</a></div></div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00058">58</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> </div> </div> <a id="a1a75de24d0277c5319098c218efaef2d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1a75de24d0277c5319098c218efaef2d">◆ </a></span>blk0</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define blk0</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">(block->l[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>] = (<a class="code" href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block->l[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>],24)&0xFF00FF00) \</div><div class="line"> |(<a class="code" href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block->l[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>],8)&0x00FF00FF))</div><div class="ttc" id="win32ole_8c_html_acb559820d9ca11295b4500f179ef6392"><div class="ttname"><a href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a></div><div class="ttdeci">int i</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d99/win32ole_8c_source.html#l00784">win32ole.c:784</a></div></div> <div class="ttc" id="sha1_8c_html_af1373930110e4f86cb1f4bc6d44a66ee"><div class="ttname"><a href="../../d2/d24/sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a></div><div class="ttdeci">#define rol(value, bits)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d24/sha1_8c_source.html#l00046">sha1.c:46</a></div></div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00053">53</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> </div> </div> <a id="a8ac24a09e1273548828d3cc9436f9bc7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8ac24a09e1273548828d3cc9436f9bc7">◆ </a></span>R0</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define R0</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">w, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">z, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   z+=((w&(x^y))^y)+<a class="el" href="../../d2/d24/sha1_8c.html#a1a75de24d0277c5319098c218efaef2d">blk0</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x5A827999+rol(v,5);w=rol(w,30);</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00064">64</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d6/de3/crypt_8c_source.html#l00638">des_cipher()</a>, and <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>.</p> </div> </div> <a id="a2628f8af7bf67ca052200537279f855a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2628f8af7bf67ca052200537279f855a">◆ </a></span>R1</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define R1</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">w, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">z, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   z+=((w&(x^y))^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x5A827999+rol(v,5);w=rol(w,30);</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00065">65</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d6/de3/crypt_8c_source.html#l00638">des_cipher()</a>, and <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>.</p> </div> </div> <a id="a774229b80509be0e9e0a1d9819580224"></a> <h2 class="memtitle"><span class="permalink"><a href="#a774229b80509be0e9e0a1d9819580224">◆ </a></span>R2</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define R2</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">w, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">z, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   z+=(w^x^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x6ED9EBA1+rol(v,5);w=rol(w,30);</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00066">66</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>.</p> </div> </div> <a id="ac0b8b342432d17717ff1020d10cf0eea"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac0b8b342432d17717ff1020d10cf0eea">◆ </a></span>R3</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define R3</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">w, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">z, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   z+=(((w|x)&y)|(w&x))+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0x8F1BBCDC+rol(v,5);w=rol(w,30);</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00067">67</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>.</p> </div> </div> <a id="af77ddc8894422d2af2adbd4e71e55d1f"></a> <h2 class="memtitle"><span class="permalink"><a href="#af77ddc8894422d2af2adbd4e71e55d1f">◆ </a></span>R4</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define R4</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">w, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">z, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   z+=(w^x^y)+<a class="el" href="../../d2/d24/sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(<a class="el" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)+0xCA62C1D6+rol(v,5);w=rol(w,30);</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00068">68</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>.</p> </div> </div> <a id="af1373930110e4f86cb1f4bc6d44a66ee"></a> <h2 class="memtitle"><span class="permalink"><a href="#af1373930110e4f86cb1f4bc6d44a66ee">◆ </a></span>rol</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define rol</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">value, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">bits </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (((value) << (bits)) | ((value) >> (32 - (bits))))</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00046">46</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> </div> </div> <a id="a9e2c8862606a4549edef298248089783"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9e2c8862606a4549edef298248089783">◆ </a></span>SHA1HANDSOFF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SHA1HANDSOFF   /* Copies data before messing with it. */</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00022">22</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a93f1d45917c82629ba464a398c2cf41f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a93f1d45917c82629ba464a398c2cf41f">◆ </a></span>SHA1_Finish()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void SHA1_Finish </td> <td>(</td> <td class="paramtype"><a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> * </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> <td class="paramname"><em>digest</em>[20] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00247">247</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">References <a class="el" href="../../d2/d24/sha1_8c_source.html#l00035">_DIAGASSERT</a>, <a class="el" href="../../db/db5/sha1_8h_source.html#l00018">SHA1_CTX::count</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00784">i</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00220">SHA1_Update()</a>, and <a class="el" href="../../db/db5/sha1_8h_source.html#l00017">SHA1_CTX::state</a>.</p> </div> </div> <a id="ac7153ad75aabddd8fa813ea0ed1cdfba"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac7153ad75aabddd8fa813ea0ed1cdfba">◆ </a></span>SHA1_Init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void SHA1_Init </td> <td>(</td> <td class="paramtype"><a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> * </td> <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00202">202</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">References <a class="el" href="../../d2/d24/sha1_8c_source.html#l00035">_DIAGASSERT</a>, <a class="el" href="../../db/db5/sha1_8h_source.html#l00018">SHA1_CTX::count</a>, and <a class="el" href="../../db/db5/sha1_8h_source.html#l00017">SHA1_CTX::state</a>.</p> </div> </div> <a id="a765224a7076e29680157cfe97611c52d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a765224a7076e29680157cfe97611c52d">◆ </a></span>SHA1_Transform()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void SHA1_Transform </td> <td>(</td> <td class="paramtype"><a class="el" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> <td class="paramname"><em>state</em>[5], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../da/d50/vsnprintf_8c.html#a2c212835823e3c54a8ab6d95c652660e">const</a> <a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> <td class="paramname"><em>buffer</em>[64] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">132</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">References <a class="el" href="../../d2/d24/sha1_8c_source.html#l00035">_DIAGASSERT</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00064">R0</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00065">R1</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00066">R2</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00067">R3</a>, and <a class="el" href="../../d2/d24/sha1_8c_source.html#l00068">R4</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00220">SHA1_Update()</a>.</p> </div> </div> <a id="ad1440a26c71607309f801bd6c31546d9"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad1440a26c71607309f801bd6c31546d9">◆ </a></span>SHA1_Update()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void SHA1_Update </td> <td>(</td> <td class="paramtype"><a class="el" href="../../d5/ddb/struct_s_h_a1___c_t_x.html">SHA1_CTX</a> * </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="../../da/d50/vsnprintf_8c.html#a2c212835823e3c54a8ab6d95c652660e">const</a> <a class="el" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../d2/d24/sha1_8c_source.html#l00220">220</a> of file <a class="el" href="../../d2/d24/sha1_8c_source.html">sha1.c</a>.</p> <p class="reference">References <a class="el" href="../../d2/d24/sha1_8c_source.html#l00035">_DIAGASSERT</a>, <a class="el" href="../../db/db5/sha1_8h_source.html#l00019">SHA1_CTX::buffer</a>, <a class="el" href="../../db/db5/sha1_8h_source.html#l00018">SHA1_CTX::count</a>, <a class="el" href="../../d2/d99/win32ole_8c_source.html#l00784">i</a>, <a class="el" href="../../d2/d24/sha1_8c_source.html#l00132">SHA1_Transform()</a>, and <a class="el" href="../../db/db5/sha1_8h_source.html#l00017">SHA1_CTX::state</a>.</p> <p class="reference">Referenced by <a class="el" href="../../d2/d24/sha1_8c_source.html#l00247">SHA1_Finish()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="../../doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>
💾 Save Changes
❌ Cancel