📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 05:38:48
📂
/ (Root)
/
opt
/
alt
/
ruby19
/
share
/
doc
/
ruby
/
html
/
d7
/
d6c
📍 /opt/alt/ruby19/share/doc/ruby/html/d7/d6c
🔄 Refresh
✏️
Editing: md5_8c_source.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/md5/md5.c Source File</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">1.9.3p551(2014-11-13revision48407)</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_c5cc402a4096417b851f14ae1ee53773.html">md5</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">md5.c</div> </div> </div><!--header--> <div class="contents"> <a href="../../d7/d6c/md5_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> Copyright (C) 1999, 2000 Aladdin Enterprises. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> This software is provided 'as-is', without any express or implied</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> warranty. In no event will the authors be held liable for any damages</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> arising from the use of this software.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"></span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> Permission is granted to anyone to use this software for any purpose,</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> including commercial applications, and to alter it and redistribute it</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> freely, subject to the following restrictions:</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> 1. The origin of this software must not be misrepresented; you must not</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> claim that you wrote the original software. If you use this software</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> in a product, an acknowledgment in the product documentation would be</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> appreciated but is not required.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> 2. Altered source versions must be plainly marked as such, and must not be</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> misrepresented as being the original software.</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> 3. This notice may not be removed or altered from any source distribution.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> L. Peter Deutsch</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> ghost@aladdin.com</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/*</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> Independent implementation of MD5 (RFC 1321).</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> This code implements the MD5 Algorithm defined in RFC 1321.</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> It is derived directly from the text of the RFC and not from the</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> reference implementation.</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> The original and principal author of md5.c is L. Peter Deutsch</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> <ghost@aladdin.com>. Other authors are noted in the change history</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> that follows (in reverse chronological order):</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> 2000-07-03 lpd Patched to eliminate warnings about "constant is</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> unsigned in ANSI C, signed in traditional";</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> made test program self-checking.</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> 1999-11-04 lpd Edited comments slightly for automatic TOC extraction.</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5).</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> 1999-05-03 lpd Original version.</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> */</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> This code was modified for use in Ruby.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> - Akinori MUSHA <knu@idaemons.org></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> */</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">/*$OrigId: md5c.c,v 1.2 2001/03/26 08:57:14 matz Exp $ */</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*$RoughId: md5.c,v 1.2 2001/07/13 19:48:41 knu Exp $ */</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/*$Id: md5.c 25189 2009-10-02 12:04:37Z akr $ */</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="../../da/db0/md5_8h.html">md5.h</a>"</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#ifdef TEST</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/*</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * Compile with -DTEST to create a self-contained executable test program.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * The test program should print out the same values as given in section</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * A.5 of RFC 1321, reproduced below.</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> */</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include <string.h></span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">int</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <a class="code" href="../../d6/da0/nkf-utf8_2nkf_8c.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>()</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> test[7*2] = {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="stringliteral">""</span>, <span class="stringliteral">"d41d8cd98f00b204e9800998ecf8427e"</span>,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="stringliteral">"a"</span>, <span class="stringliteral">"0cc175b9c0f1b6a831c399e269772661"</span>,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="stringliteral">"abc"</span>, <span class="stringliteral">"900150983cd24fb0d6963f7d28e17f72"</span>,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="stringliteral">"message digest"</span>, <span class="stringliteral">"f96b697d7cb7938d525a2f31aaf161d0"</span>,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="stringliteral">"abcdefghijklmnopqrstuvwxyz"</span>, <span class="stringliteral">"c3fcd3d76192e4007dfb496cca67e13b"</span>,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="stringliteral">"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"</span>,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="stringliteral">"d174ab98d277d9f5a5611c2c9f419d9f"</span>,</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="stringliteral">"12345678901234567890123456789012345678901234567890123456789012345678901234567890"</span>, <span class="stringliteral">"57edf4a22be3c955ac49da2e2107b67a"</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  };</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">int</span> <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">for</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> = 0; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> < 7*2; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> += 2) {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="../../d8/d22/structmd5__state__s.html">MD5_CTX</a> <a class="code" href="../../d5/d1d/gb18030_8c.html#adc6e5733fc3c22f0a7b2914188c49c90">state</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> digest[16];</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">char</span> hex_output[16*2 + 1];</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordtype">int</span> di;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a1afcb9eb34bec2165e342f3b2eeb06de">MD5_Init</a>(&<a class="code" href="../../d5/d1d/gb18030_8c.html#adc6e5733fc3c22f0a7b2914188c49c90">state</a>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f">MD5_Update</a>(&<a class="code" href="../../d5/d1d/gb18030_8c.html#adc6e5733fc3c22f0a7b2914188c49c90">state</a>, (<span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)test[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>], <a class="code" href="../../d6/d7b/strchr_8c.html#a219836f542ce53545052bed5353820ca">strlen</a>(test[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>]));</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  MD5_Final(digest, &<a class="code" href="../../d5/d1d/gb18030_8c.html#adc6e5733fc3c22f0a7b2914188c49c90">state</a>);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  printf(<span class="stringliteral">"MD5 (\"%s\") = "</span>, test[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>]);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">for</span> (di = 0; di < 16; ++di)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  sprintf(hex_output + di * 2, <span class="stringliteral">"%02x"</span>, digest[di]);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  puts(hex_output);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (strcmp(hex_output, test[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> + 1]))</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  printf(<span class="stringliteral">"**** ERROR, should be: %s\n"</span>, test[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> + 1]);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#endif </span><span class="comment">/* TEST */</span><span class="preprocessor"></span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/*</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * For reference, here is the program that computed the T values.</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> */</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#ifdef COMPUTE_T_VALUES</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor">#include <math.h></span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <a class="code" href="../../d6/da0/nkf-utf8_2nkf_8c.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>()</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">int</span> <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">for</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> = 1; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> <= 64; ++<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>) {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a> = (<span class="keywordtype">unsigned</span> <a class="code" href="../../d3/d15/name2ctype_8h.html#a86f2415763322050063a5502f87c9422">long</a>)(4294967296.0 * fabs(sin((<span class="keywordtype">double</span>)<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">/*</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> * The following nonsense is only to avoid compiler warnings about</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> * "integer constant is unsigned in ANSI C, signed with -traditional".</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> */</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a> >> 31) {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  printf(<span class="stringliteral">"#define T%d /* 0x%08lx */ (T_MASK ^ 0x%08lx)\n"</span>, <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>,</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)(~<a class="code" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>));</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  printf(<span class="stringliteral">"#define T%d 0x%08lx\n"</span>, <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>, <a class="code" href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif </span><span class="comment">/* COMPUTE_T_VALUES */</span><span class="preprocessor"></span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * End of T computation program.</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#ifdef T_MASK</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#undef T_MASK</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a2d8a5083a030f6b36bc9a5fe6d71b519"> 131</a></span> <span class="preprocessor">#define T_MASK ((uint32_t)~0)</span></div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ac16509a75e3d3fc46b9df1726be486ec"> 132</a></span> <span class="preprocessor">#define T1 </span><span class="comment">/* 0xd76aa478 */</span><span class="preprocessor"> (T_MASK ^ 0x28955b87)</span></div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a259c2993ee45e06a4ea8150451a7a70e"> 133</a></span> <span class="preprocessor">#define T2 </span><span class="comment">/* 0xe8c7b756 */</span><span class="preprocessor"> (T_MASK ^ 0x173848a9)</span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a5d800c5f04f8638061876b9e32c6c508"> 134</a></span> <span class="preprocessor">#define T3 0x242070db</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a935a699e9bf1bffc5dad8738d3cd24c0"> 135</a></span> <span class="preprocessor">#define T4 </span><span class="comment">/* 0xc1bdceee */</span><span class="preprocessor"> (T_MASK ^ 0x3e423111)</span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a6931b110a9ed5548e88ca9ed2d86fd51"> 136</a></span> <span class="preprocessor">#define T5 </span><span class="comment">/* 0xf57c0faf */</span><span class="preprocessor"> (T_MASK ^ 0x0a83f050)</span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a5b569de807982d649a39b92356168b77"> 137</a></span> <span class="preprocessor">#define T6 0x4787c62a</span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a2ecc28a0523643551285b16c189518a0"> 138</a></span> <span class="preprocessor">#define T7 </span><span class="comment">/* 0xa8304613 */</span><span class="preprocessor"> (T_MASK ^ 0x57cfb9ec)</span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ac9b9e45bd8d2239449780742dce8dd69"> 139</a></span> <span class="preprocessor">#define T8 </span><span class="comment">/* 0xfd469501 */</span><span class="preprocessor"> (T_MASK ^ 0x02b96afe)</span></div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a21163de9ed7de4dd54e63de71be39ffe"> 140</a></span> <span class="preprocessor">#define T9 0x698098d8</span></div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a3536974783988d0c205029ed0812f30d"> 141</a></span> <span class="preprocessor">#define T10 </span><span class="comment">/* 0x8b44f7af */</span><span class="preprocessor"> (T_MASK ^ 0x74bb0850)</span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#abeeb6ae117dd230314d4a5c1e596c741"> 142</a></span> <span class="preprocessor">#define T11 </span><span class="comment">/* 0xffff5bb1 */</span><span class="preprocessor"> (T_MASK ^ 0x0000a44e)</span></div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#afd5bf0370ca515c9464244666f9641c7"> 143</a></span> <span class="preprocessor">#define T12 </span><span class="comment">/* 0x895cd7be */</span><span class="preprocessor"> (T_MASK ^ 0x76a32841)</span></div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#aa06904ece927aa128fc714c348160a06"> 144</a></span> <span class="preprocessor">#define T13 0x6b901122</span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a21df9a0739084ddd6287286ce92e7478"> 145</a></span> <span class="preprocessor">#define T14 </span><span class="comment">/* 0xfd987193 */</span><span class="preprocessor"> (T_MASK ^ 0x02678e6c)</span></div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#adc159a06a3b54412f6ea70ead02438b8"> 146</a></span> <span class="preprocessor">#define T15 </span><span class="comment">/* 0xa679438e */</span><span class="preprocessor"> (T_MASK ^ 0x5986bc71)</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a7e3fcb261c24ae020b9aff7be20b86ca"> 147</a></span> <span class="preprocessor">#define T16 0x49b40821</span></div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a19505a0c2fc06e1c4c64be198f78a156"> 148</a></span> <span class="preprocessor">#define T17 </span><span class="comment">/* 0xf61e2562 */</span><span class="preprocessor"> (T_MASK ^ 0x09e1da9d)</span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a59fe2f345c8bc8c139e3ac50840d79d2"> 149</a></span> <span class="preprocessor">#define T18 </span><span class="comment">/* 0xc040b340 */</span><span class="preprocessor"> (T_MASK ^ 0x3fbf4cbf)</span></div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a72ce9c35e7afbefae2af2444e2d4177e"> 150</a></span> <span class="preprocessor">#define T19 0x265e5a51</span></div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a1fb43dcd147dd89fb67e8f9b2893d334"> 151</a></span> <span class="preprocessor">#define T20 </span><span class="comment">/* 0xe9b6c7aa */</span><span class="preprocessor"> (T_MASK ^ 0x16493855)</span></div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a5b214b9ca03699c9b8d037af1509ff11"> 152</a></span> <span class="preprocessor">#define T21 </span><span class="comment">/* 0xd62f105d */</span><span class="preprocessor"> (T_MASK ^ 0x29d0efa2)</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a80329150b8e8b5b50a6d7302349e98a2"> 153</a></span> <span class="preprocessor">#define T22 0x02441453</span></div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#acf792dcc5f0d1bc2b8d1287b17d72ac1"> 154</a></span> <span class="preprocessor">#define T23 </span><span class="comment">/* 0xd8a1e681 */</span><span class="preprocessor"> (T_MASK ^ 0x275e197e)</span></div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a48de7c97bc6828e5cf9c7fc0db5ca81a"> 155</a></span> <span class="preprocessor">#define T24 </span><span class="comment">/* 0xe7d3fbc8 */</span><span class="preprocessor"> (T_MASK ^ 0x182c0437)</span></div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a53aa2f768c6a022a17d3fc015cf3d012"> 156</a></span> <span class="preprocessor">#define T25 0x21e1cde6</span></div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a43a89cb83a835ff0a198ac8d0e0354f1"> 157</a></span> <span class="preprocessor">#define T26 </span><span class="comment">/* 0xc33707d6 */</span><span class="preprocessor"> (T_MASK ^ 0x3cc8f829)</span></div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#af88a549baf074feaea357cf86944fe5c"> 158</a></span> <span class="preprocessor">#define T27 </span><span class="comment">/* 0xf4d50d87 */</span><span class="preprocessor"> (T_MASK ^ 0x0b2af278)</span></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#afb60889361634ec300700e9f86ff0df5"> 159</a></span> <span class="preprocessor">#define T28 0x455a14ed</span></div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a65314705cc7e1b16abda26f959156a85"> 160</a></span> <span class="preprocessor">#define T29 </span><span class="comment">/* 0xa9e3e905 */</span><span class="preprocessor"> (T_MASK ^ 0x561c16fa)</span></div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#aa8ca9cfde8695b46070bfd0a7bff2c3b"> 161</a></span> <span class="preprocessor">#define T30 </span><span class="comment">/* 0xfcefa3f8 */</span><span class="preprocessor"> (T_MASK ^ 0x03105c07)</span></div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a3dbc83c9d83493c94e4df01ffd30a5bf"> 162</a></span> <span class="preprocessor">#define T31 0x676f02d9</span></div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac"> 163</a></span> <span class="preprocessor">#define T32 </span><span class="comment">/* 0x8d2a4c8a */</span><span class="preprocessor"> (T_MASK ^ 0x72d5b375)</span></div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a758ff3fff3a1d1b2f529a2f3fc70be10"> 164</a></span> <span class="preprocessor">#define T33 </span><span class="comment">/* 0xfffa3942 */</span><span class="preprocessor"> (T_MASK ^ 0x0005c6bd)</span></div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#aea009020568c856d458f5aaf10205131"> 165</a></span> <span class="preprocessor">#define T34 </span><span class="comment">/* 0x8771f681 */</span><span class="preprocessor"> (T_MASK ^ 0x788e097e)</span></div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ac5a7c6ee8dea0ccb09dfc611bd08a0ac"> 166</a></span> <span class="preprocessor">#define T35 0x6d9d6122</span></div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a552c6bf2a2dbf1f374fbc920043cf985"> 167</a></span> <span class="preprocessor">#define T36 </span><span class="comment">/* 0xfde5380c */</span><span class="preprocessor"> (T_MASK ^ 0x021ac7f3)</span></div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a257f5770ee4a2539c22a971d078f7d1a"> 168</a></span> <span class="preprocessor">#define T37 </span><span class="comment">/* 0xa4beea44 */</span><span class="preprocessor"> (T_MASK ^ 0x5b4115bb)</span></div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a7116c4f5d98bf98dc1ea46089142ee75"> 169</a></span> <span class="preprocessor">#define T38 0x4bdecfa9</span></div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a6efe3781c8bb0baad5ac307308b5c677"> 170</a></span> <span class="preprocessor">#define T39 </span><span class="comment">/* 0xf6bb4b60 */</span><span class="preprocessor"> (T_MASK ^ 0x0944b49f)</span></div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a95926c75b59a707e570147442957963e"> 171</a></span> <span class="preprocessor">#define T40 </span><span class="comment">/* 0xbebfbc70 */</span><span class="preprocessor"> (T_MASK ^ 0x4140438f)</span></div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a8516100c31eaf6e8a0c3ca7e1d68d5a5"> 172</a></span> <span class="preprocessor">#define T41 0x289b7ec6</span></div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ad95c32f5d3a09b6d8cf5a17d2cfbe800"> 173</a></span> <span class="preprocessor">#define T42 </span><span class="comment">/* 0xeaa127fa */</span><span class="preprocessor"> (T_MASK ^ 0x155ed805)</span></div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a20054c1434c668ca4722e97aa54f2bf0"> 174</a></span> <span class="preprocessor">#define T43 </span><span class="comment">/* 0xd4ef3085 */</span><span class="preprocessor"> (T_MASK ^ 0x2b10cf7a)</span></div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a516aa8734affadd856417056d81eab93"> 175</a></span> <span class="preprocessor">#define T44 0x04881d05</span></div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a178fab52ae52ca723050819c504009a4"> 176</a></span> <span class="preprocessor">#define T45 </span><span class="comment">/* 0xd9d4d039 */</span><span class="preprocessor"> (T_MASK ^ 0x262b2fc6)</span></div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a0d052aa79c77ceb944fe113db08fc816"> 177</a></span> <span class="preprocessor">#define T46 </span><span class="comment">/* 0xe6db99e5 */</span><span class="preprocessor"> (T_MASK ^ 0x1924661a)</span></div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a99cebbf76190a6be9d93f89068801925"> 178</a></span> <span class="preprocessor">#define T47 0x1fa27cf8</span></div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a8e03c936168de4e755c6317af7ba6283"> 179</a></span> <span class="preprocessor">#define T48 </span><span class="comment">/* 0xc4ac5665 */</span><span class="preprocessor"> (T_MASK ^ 0x3b53a99a)</span></div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a7b9a3f7a4f898ae604220d292eaa65e1"> 180</a></span> <span class="preprocessor">#define T49 </span><span class="comment">/* 0xf4292244 */</span><span class="preprocessor"> (T_MASK ^ 0x0bd6ddbb)</span></div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a0f646ac0e60ce4c1cc2470b57115a2aa"> 181</a></span> <span class="preprocessor">#define T50 0x432aff97</span></div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a09099e8bdb15255f1bc69db50dfe530c"> 182</a></span> <span class="preprocessor">#define T51 </span><span class="comment">/* 0xab9423a7 */</span><span class="preprocessor"> (T_MASK ^ 0x546bdc58)</span></div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#afb730bef77364a50029257176cc73873"> 183</a></span> <span class="preprocessor">#define T52 </span><span class="comment">/* 0xfc93a039 */</span><span class="preprocessor"> (T_MASK ^ 0x036c5fc6)</span></div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a6e56e5ee32dc77a70b1f09466dd3c23f"> 184</a></span> <span class="preprocessor">#define T53 0x655b59c3</span></div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a1c68286a0508fc986f39cced276b2e28"> 185</a></span> <span class="preprocessor">#define T54 </span><span class="comment">/* 0x8f0ccc92 */</span><span class="preprocessor"> (T_MASK ^ 0x70f3336d)</span></div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a84b5a55558ea68f8db1cbf414ea32964"> 186</a></span> <span class="preprocessor">#define T55 </span><span class="comment">/* 0xffeff47d */</span><span class="preprocessor"> (T_MASK ^ 0x00100b82)</span></div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a1930a7cb3add95822ff429dabd127369"> 187</a></span> <span class="preprocessor">#define T56 </span><span class="comment">/* 0x85845dd1 */</span><span class="preprocessor"> (T_MASK ^ 0x7a7ba22e)</span></div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a25376a7f6c04259754192cc5ae4d1d68"> 188</a></span> <span class="preprocessor">#define T57 0x6fa87e4f</span></div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a61ec0679a9210c8f1733221ded0fd85a"> 189</a></span> <span class="preprocessor">#define T58 </span><span class="comment">/* 0xfe2ce6e0 */</span><span class="preprocessor"> (T_MASK ^ 0x01d3191f)</span></div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a6761c8bd1fae043d208fe975ff16facc"> 190</a></span> <span class="preprocessor">#define T59 </span><span class="comment">/* 0xa3014314 */</span><span class="preprocessor"> (T_MASK ^ 0x5cfebceb)</span></div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a670003ba5026a4844ee5e9281f0810bb"> 191</a></span> <span class="preprocessor">#define T60 0x4e0811a1</span></div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a2f2fde9f87b13b922513e5f8cb838fab"> 192</a></span> <span class="preprocessor">#define T61 </span><span class="comment">/* 0xf7537e82 */</span><span class="preprocessor"> (T_MASK ^ 0x08ac817d)</span></div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a3e85ed30c56ed0624d6c7d51c5a4c130"> 193</a></span> <span class="preprocessor">#define T62 </span><span class="comment">/* 0xbd3af235 */</span><span class="preprocessor"> (T_MASK ^ 0x42c50dca)</span></div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ac106a00c97fbf324d222e4f1ed07f912"> 194</a></span> <span class="preprocessor">#define T63 0x2ad7d2bb</span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a9500449424a2e7b835530ad9a5d8d6b9"> 195</a></span> <span class="preprocessor">#define T64 </span><span class="comment">/* 0xeb86d391 */</span><span class="preprocessor"> (T_MASK ^ 0x14792c6e)</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#aceb3206e389c44777f0b8cb8717133ea"> 199</a></span> <a class="code" href="../../d7/d6c/md5_8c.html#aceb3206e389c44777f0b8cb8717133ea">md5_process</a>(<a class="code" href="../../d8/d22/structmd5__state__s.html">MD5_CTX</a> *pms, <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data <span class="comment">/*[64]*/</span>)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  a = pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[0], b = pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[1],</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  c = pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[2], d = pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[3];</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> t;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#ifdef WORDS_BIGENDIAN</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="comment">/*</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * On big-endian machines, we must arrange the bytes in the right</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> * order. (This also works on machines of unknown byte order.)</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> */</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> X[16];</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *xp = data;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordtype">int</span> <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">for</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> = 0; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> < 16; ++<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>, xp += 4)</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  X[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="comment">/*</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> * On little-endian machines, we can process properly aligned data</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> * without copying it.</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> */</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> xbuf[16];</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *X;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">if</span> (!((data - (<span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)0) & 3)) {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="comment">/* data are properly aligned */</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  X = (<span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *)data;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="comment">/* not aligned */</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  memcpy(xbuf, data, 64);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  X = xbuf;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  }</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor">#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n))))</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">/* Round 1. */</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="comment">/* Let [abcd k s i] denote the operation</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor">#define F(x, y, z) (((x) & (y)) | (~(x) & (z)))</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor">#define SET(a, b, c, d, k, s, Ti)\</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> t = a + F(b,c,d) + X[k] + Ti;\</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> a = ROTATE_LEFT(t, s) + b</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="comment">/* Do the following 16 operations. */</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 0, 7, <a class="code" href="../../d7/d6c/md5_8c.html#ac16509a75e3d3fc46b9df1726be486ec">T1</a>);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 1, 12, <a class="code" href="../../d7/d6c/md5_8c.html#a259c2993ee45e06a4ea8150451a7a70e">T2</a>);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 2, 17, <a class="code" href="../../d7/d6c/md5_8c.html#a5d800c5f04f8638061876b9e32c6c508">T3</a>);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 3, 22, <a class="code" href="../../d7/d6c/md5_8c.html#a935a699e9bf1bffc5dad8738d3cd24c0">T4</a>);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 4, 7, <a class="code" href="../../d7/d6c/md5_8c.html#a6931b110a9ed5548e88ca9ed2d86fd51">T5</a>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 5, 12, <a class="code" href="../../d7/d6c/md5_8c.html#a5b569de807982d649a39b92356168b77">T6</a>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 6, 17, <a class="code" href="../../d7/d6c/md5_8c.html#a2ecc28a0523643551285b16c189518a0">T7</a>);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 7, 22, <a class="code" href="../../d7/d6c/md5_8c.html#ac9b9e45bd8d2239449780742dce8dd69">T8</a>);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 8, 7, <a class="code" href="../../d7/d6c/md5_8c.html#a21163de9ed7de4dd54e63de71be39ffe">T9</a>);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 9, 12, <a class="code" href="../../d7/d6c/md5_8c.html#a3536974783988d0c205029ed0812f30d">T10</a>);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 10, 17, <a class="code" href="../../d7/d6c/md5_8c.html#abeeb6ae117dd230314d4a5c1e596c741">T11</a>);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 11, 22, <a class="code" href="../../d7/d6c/md5_8c.html#afd5bf0370ca515c9464244666f9641c7">T12</a>);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 12, 7, <a class="code" href="../../d7/d6c/md5_8c.html#aa06904ece927aa128fc714c348160a06">T13</a>);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 13, 12, <a class="code" href="../../d7/d6c/md5_8c.html#a21df9a0739084ddd6287286ce92e7478">T14</a>);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 14, 17, <a class="code" href="../../d7/d6c/md5_8c.html#adc159a06a3b54412f6ea70ead02438b8">T15</a>);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 15, 22, <a class="code" href="../../d7/d6c/md5_8c.html#a7e3fcb261c24ae020b9aff7be20b86ca">T16</a>);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor">#undef SET</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="comment">/* Round 2. */</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="comment">/* Let [abcd k s i] denote the operation</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor">#define G(x, y, z) (((x) & (z)) | ((y) & ~(z)))</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor">#define SET(a, b, c, d, k, s, Ti)\</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"> t = a + G(b,c,d) + X[k] + Ti;\</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="preprocessor"> a = ROTATE_LEFT(t, s) + b</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="comment">/* Do the following 16 operations. */</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 1, 5, <a class="code" href="../../d7/d6c/md5_8c.html#a19505a0c2fc06e1c4c64be198f78a156">T17</a>);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 6, 9, <a class="code" href="../../d7/d6c/md5_8c.html#a59fe2f345c8bc8c139e3ac50840d79d2">T18</a>);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 11, 14, <a class="code" href="../../d7/d6c/md5_8c.html#a72ce9c35e7afbefae2af2444e2d4177e">T19</a>);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 0, 20, <a class="code" href="../../d7/d6c/md5_8c.html#a1fb43dcd147dd89fb67e8f9b2893d334">T20</a>);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 5, 5, <a class="code" href="../../d7/d6c/md5_8c.html#a5b214b9ca03699c9b8d037af1509ff11">T21</a>);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 10, 9, <a class="code" href="../../d7/d6c/md5_8c.html#a80329150b8e8b5b50a6d7302349e98a2">T22</a>);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 15, 14, <a class="code" href="../../d7/d6c/md5_8c.html#acf792dcc5f0d1bc2b8d1287b17d72ac1">T23</a>);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 4, 20, <a class="code" href="../../d7/d6c/md5_8c.html#a48de7c97bc6828e5cf9c7fc0db5ca81a">T24</a>);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 9, 5, <a class="code" href="../../d7/d6c/md5_8c.html#a53aa2f768c6a022a17d3fc015cf3d012">T25</a>);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 14, 9, <a class="code" href="../../d7/d6c/md5_8c.html#a43a89cb83a835ff0a198ac8d0e0354f1">T26</a>);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 3, 14, <a class="code" href="../../d7/d6c/md5_8c.html#af88a549baf074feaea357cf86944fe5c">T27</a>);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 8, 20, <a class="code" href="../../d7/d6c/md5_8c.html#afb60889361634ec300700e9f86ff0df5">T28</a>);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 13, 5, <a class="code" href="../../d7/d6c/md5_8c.html#a65314705cc7e1b16abda26f959156a85">T29</a>);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 2, 9, <a class="code" href="../../d7/d6c/md5_8c.html#aa8ca9cfde8695b46070bfd0a7bff2c3b">T30</a>);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 7, 14, <a class="code" href="../../d7/d6c/md5_8c.html#a3dbc83c9d83493c94e4df01ffd30a5bf">T31</a>);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 12, 20, <a class="code" href="../../d7/d6c/md5_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor">#undef SET</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="comment">/* Round 3. */</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="comment">/* Let [abcd k s t] denote the operation</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */</span></div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor">#define H(x, y, z) ((x) ^ (y) ^ (z))</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor">#define SET(a, b, c, d, k, s, Ti)\</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"> t = a + H(b,c,d) + X[k] + Ti;\</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"> a = ROTATE_LEFT(t, s) + b</span></div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="comment">/* Do the following 16 operations. */</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 5, 4, <a class="code" href="../../d7/d6c/md5_8c.html#a758ff3fff3a1d1b2f529a2f3fc70be10">T33</a>);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 8, 11, <a class="code" href="../../d7/d6c/md5_8c.html#aea009020568c856d458f5aaf10205131">T34</a>);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 11, 16, <a class="code" href="../../d7/d6c/md5_8c.html#ac5a7c6ee8dea0ccb09dfc611bd08a0ac">T35</a>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 14, 23, <a class="code" href="../../d7/d6c/md5_8c.html#a552c6bf2a2dbf1f374fbc920043cf985">T36</a>);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 1, 4, <a class="code" href="../../d7/d6c/md5_8c.html#a257f5770ee4a2539c22a971d078f7d1a">T37</a>);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 4, 11, <a class="code" href="../../d7/d6c/md5_8c.html#a7116c4f5d98bf98dc1ea46089142ee75">T38</a>);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 7, 16, <a class="code" href="../../d7/d6c/md5_8c.html#a6efe3781c8bb0baad5ac307308b5c677">T39</a>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 10, 23, <a class="code" href="../../d7/d6c/md5_8c.html#a95926c75b59a707e570147442957963e">T40</a>);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 13, 4, <a class="code" href="../../d7/d6c/md5_8c.html#a8516100c31eaf6e8a0c3ca7e1d68d5a5">T41</a>);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 0, 11, <a class="code" href="../../d7/d6c/md5_8c.html#ad95c32f5d3a09b6d8cf5a17d2cfbe800">T42</a>);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 3, 16, <a class="code" href="../../d7/d6c/md5_8c.html#a20054c1434c668ca4722e97aa54f2bf0">T43</a>);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 6, 23, <a class="code" href="../../d7/d6c/md5_8c.html#a516aa8734affadd856417056d81eab93">T44</a>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 9, 4, <a class="code" href="../../d7/d6c/md5_8c.html#a178fab52ae52ca723050819c504009a4">T45</a>);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 12, 11, <a class="code" href="../../d7/d6c/md5_8c.html#a0d052aa79c77ceb944fe113db08fc816">T46</a>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 15, 16, <a class="code" href="../../d7/d6c/md5_8c.html#a99cebbf76190a6be9d93f89068801925">T47</a>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 2, 23, <a class="code" href="../../d7/d6c/md5_8c.html#a8e03c936168de4e755c6317af7ba6283">T48</a>);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor">#undef SET</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="comment">/* Round 4. */</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="comment">/* Let [abcd k s t] denote the operation</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */</span></div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor">#define I(x, y, z) ((y) ^ ((x) | ~(z)))</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor">#define SET(a, b, c, d, k, s, Ti)\</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"> t = a + I(b,c,d) + X[k] + Ti;\</span></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> a = ROTATE_LEFT(t, s) + b</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">/* Do the following 16 operations. */</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 0, 6, <a class="code" href="../../d7/d6c/md5_8c.html#a7b9a3f7a4f898ae604220d292eaa65e1">T49</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 7, 10, <a class="code" href="../../d7/d6c/md5_8c.html#a0f646ac0e60ce4c1cc2470b57115a2aa">T50</a>);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 14, 15, <a class="code" href="../../d7/d6c/md5_8c.html#a09099e8bdb15255f1bc69db50dfe530c">T51</a>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 5, 21, <a class="code" href="../../d7/d6c/md5_8c.html#afb730bef77364a50029257176cc73873">T52</a>);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 12, 6, <a class="code" href="../../d7/d6c/md5_8c.html#a6e56e5ee32dc77a70b1f09466dd3c23f">T53</a>);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 3, 10, <a class="code" href="../../d7/d6c/md5_8c.html#a1c68286a0508fc986f39cced276b2e28">T54</a>);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 10, 15, <a class="code" href="../../d7/d6c/md5_8c.html#a84b5a55558ea68f8db1cbf414ea32964">T55</a>);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 1, 21, <a class="code" href="../../d7/d6c/md5_8c.html#a1930a7cb3add95822ff429dabd127369">T56</a>);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 8, 6, <a class="code" href="../../d7/d6c/md5_8c.html#a25376a7f6c04259754192cc5ae4d1d68">T57</a>);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 15, 10, <a class="code" href="../../d7/d6c/md5_8c.html#a61ec0679a9210c8f1733221ded0fd85a">T58</a>);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 6, 15, <a class="code" href="../../d7/d6c/md5_8c.html#a6761c8bd1fae043d208fe975ff16facc">T59</a>);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 13, 21, <a class="code" href="../../d7/d6c/md5_8c.html#a670003ba5026a4844ee5e9281f0810bb">T60</a>);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(a, b, c, d, 4, 6, <a class="code" href="../../d7/d6c/md5_8c.html#a2f2fde9f87b13b922513e5f8cb838fab">T61</a>);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(d, a, b, c, 11, 10, <a class="code" href="../../d7/d6c/md5_8c.html#a3e85ed30c56ed0624d6c7d51c5a4c130">T62</a>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(c, d, a, b, 2, 15, <a class="code" href="../../d7/d6c/md5_8c.html#ac106a00c97fbf324d222e4f1ed07f912">T63</a>);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a>(b, c, d, a, 9, 21, <a class="code" href="../../d7/d6c/md5_8c.html#a9500449424a2e7b835530ad9a5d8d6b9">T64</a>);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor">#undef SET</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="comment">/* Then perform the following additions. (That is increment each</span></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> of the four registers by the value it had before this block</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> was started.) */</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[0] += a;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[1] += b;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[2] += c;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[3] += d;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#a1afcb9eb34bec2165e342f3b2eeb06de"> 354</a></span> <a class="code" href="../../d7/d6c/md5_8c.html#a1afcb9eb34bec2165e342f3b2eeb06de">MD5_Init</a>(<a class="code" href="../../d8/d22/structmd5__state__s.html">MD5_CTX</a> *pms)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[0] = pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[1] = 0;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[0] = 0x67452301;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[1] = <span class="comment">/*0xefcdab89*/</span> <a class="code" href="../../d7/d6c/md5_8c.html#a2d8a5083a030f6b36bc9a5fe6d71b519">T_MASK</a> ^ 0x10325476;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[2] = <span class="comment">/*0x98badcfe*/</span> <a class="code" href="../../d7/d6c/md5_8c.html#a2d8a5083a030f6b36bc9a5fe6d71b519">T_MASK</a> ^ 0x67452301;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[3] = 0x10325476;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f"> 364</a></span> <a class="code" href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f">MD5_Update</a>(<a class="code" href="../../d8/d22/structmd5__state__s.html">MD5_CTX</a> *pms, <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <span class="keywordtype">size_t</span> nbytes)</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *<a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a> = data;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordtype">size_t</span> left = nbytes;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordtype">size_t</span> offset = (pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[0] >> 3) & 63;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> nbits = (<a class="code" href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>)(nbytes << 3);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">if</span> (nbytes <= 0)</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="comment">/* Update the message length. */</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[1] += nbytes >> 29;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[0] += nbits;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">if</span> (pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[0] < nbits)</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[1]++;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">/* Process an initial partial block. */</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span> (offset) {</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordtype">size_t</span> copy = (offset + nbytes > 64 ? 64 - offset : nbytes);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  memcpy(pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#ad04819954f9f485392779beaf1b360d6">buffer</a> + offset, <a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>, copy);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">if</span> (offset + copy < 64)</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a> += copy;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  left -= copy;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="../../d7/d6c/md5_8c.html#aceb3206e389c44777f0b8cb8717133ea">md5_process</a>(pms, pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#ad04819954f9f485392779beaf1b360d6">buffer</a>);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">/* Process full blocks. */</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">for</span> (; left >= 64; <a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a> += 64, left -= 64)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="../../d7/d6c/md5_8c.html#aceb3206e389c44777f0b8cb8717133ea">md5_process</a>(pms, <a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="comment">/* Process a final partial block. */</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (left)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  memcpy(pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#ad04819954f9f485392779beaf1b360d6">buffer</a>, <a class="code" href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a>, left);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="../../dc/d8d/md5ossl_8h.html#a5dc89dee3507ccfc0dc89517293ef9b2"> 402</a></span> <a class="code" href="../../d7/d6c/md5_8c.html#a2f3caa8f774b2def6cb061afcd8b5602">MD5_Finish</a>(<a class="code" href="../../d8/d22/structmd5__state__s.html">MD5_CTX</a> *pms, <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *digest)</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> {</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> pad[64] = {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  };</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> data[8];</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordtype">size_t</span> <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="comment">/* Save the length before padding. */</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">for</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> = 0; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> < 8; ++<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  data[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>] = (<a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> >> 2] >> ((<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> & 3) << 3));</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="comment">/* Pad to 56 bytes mod 64. */</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <a class="code" href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f">MD5_Update</a>(pms, pad, ((55 - (pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">count</a>[0] >> 3)) & 63) + 1);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="comment">/* Append the length. */</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f">MD5_Update</a>(pms, data, 8);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">for</span> (<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> = 0; <a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> < 16; ++<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  digest[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a>] = (<a class="code" href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(pms-><a class="code" href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">state</a>[<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> >> 2] >> ((<a class="code" href="../../d2/d99/win32ole_8c.html#acb559820d9ca11295b4500f179ef6392">i</a> & 3) << 3));</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div><div class="ttc" id="md5_8c_html_a62f837c16bbbf6e255786b01ef417492"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a62f837c16bbbf6e255786b01ef417492">SET</a></div><div class="ttdeci">#define SET(a, b, c, d, k, s, Ti)</div></div> <div class="ttc" id="md5_8c_html_adc159a06a3b54412f6ea70ead02438b8"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#adc159a06a3b54412f6ea70ead02438b8">T15</a></div><div class="ttdeci">#define T15</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00146">md5.c:146</a></div></div> <div class="ttc" id="md5_8c_html_a21df9a0739084ddd6287286ce92e7478"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a21df9a0739084ddd6287286ce92e7478">T14</a></div><div class="ttdeci">#define T14</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00145">md5.c:145</a></div></div> <div class="ttc" id="md5_8c_html_a1930a7cb3add95822ff429dabd127369"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a1930a7cb3add95822ff429dabd127369">T56</a></div><div class="ttdeci">#define T56</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00187">md5.c:187</a></div></div> <div class="ttc" id="strchr_8c_html_a219836f542ce53545052bed5353820ca"><div class="ttname"><a href="../../d6/d7b/strchr_8c.html#a219836f542ce53545052bed5353820ca">strlen</a></div><div class="ttdeci">size_t strlen(const char *)</div></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#l00776">win32ole.c:776</a></div></div> <div class="ttc" id="md5_8c_html_aa06904ece927aa128fc714c348160a06"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#aa06904ece927aa128fc714c348160a06">T13</a></div><div class="ttdeci">#define T13</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00144">md5.c:144</a></div></div> <div class="ttc" id="md5_8c_html_a552c6bf2a2dbf1f374fbc920043cf985"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a552c6bf2a2dbf1f374fbc920043cf985">T36</a></div><div class="ttdeci">#define T36</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00167">md5.c:167</a></div></div> <div class="ttc" id="md5_8c_html_a758ff3fff3a1d1b2f529a2f3fc70be10"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a758ff3fff3a1d1b2f529a2f3fc70be10">T33</a></div><div class="ttdeci">#define T33</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00164">md5.c:164</a></div></div> <div class="ttc" id="md5_8c_html_a5b214b9ca03699c9b8d037af1509ff11"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a5b214b9ca03699c9b8d037af1509ff11">T21</a></div><div class="ttdeci">#define T21</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00152">md5.c:152</a></div></div> <div class="ttc" id="md5_8c_html_a20054c1434c668ca4722e97aa54f2bf0"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a20054c1434c668ca4722e97aa54f2bf0">T43</a></div><div class="ttdeci">#define T43</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00174">md5.c:174</a></div></div> <div class="ttc" id="md5_8c_html_a59fe2f345c8bc8c139e3ac50840d79d2"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a59fe2f345c8bc8c139e3ac50840d79d2">T18</a></div><div class="ttdeci">#define T18</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00149">md5.c:149</a></div></div> <div class="ttc" id="structmd5__state__s_html"><div class="ttname"><a href="../../d8/d22/structmd5__state__s.html">md5_state_s</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/db0/md5_8h_source.html#l00059">md5.h:59</a></div></div> <div class="ttc" id="md5_8c_html_ac106a00c97fbf324d222e4f1ed07f912"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ac106a00c97fbf324d222e4f1ed07f912">T63</a></div><div class="ttdeci">#define T63</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00194">md5.c:194</a></div></div> <div class="ttc" id="structmd5__state__s_html_ad04819954f9f485392779beaf1b360d6"><div class="ttname"><a href="../../d8/d22/structmd5__state__s.html#ad04819954f9f485392779beaf1b360d6">md5_state_s::buffer</a></div><div class="ttdeci">uint8_t buffer[64]</div><div class="ttdef"><b>Definition:</b> <a href="../../da/db0/md5_8h_source.html#l00062">md5.h:62</a></div></div> <div class="ttc" id="md5_8c_html_aceb3206e389c44777f0b8cb8717133ea"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#aceb3206e389c44777f0b8cb8717133ea">md5_process</a></div><div class="ttdeci">static void md5_process(MD5_CTX *pms, const uint8_t *data)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00199">md5.c:199</a></div></div> <div class="ttc" id="md5_8c_html_a48de7c97bc6828e5cf9c7fc0db5ca81a"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a48de7c97bc6828e5cf9c7fc0db5ca81a">T24</a></div><div class="ttdeci">#define T24</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00155">md5.c:155</a></div></div> <div class="ttc" id="md5_8c_html_afb730bef77364a50029257176cc73873"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#afb730bef77364a50029257176cc73873">T52</a></div><div class="ttdeci">#define T52</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00183">md5.c:183</a></div></div> <div class="ttc" id="md5_8c_html_ac9b9e45bd8d2239449780742dce8dd69"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ac9b9e45bd8d2239449780742dce8dd69">T8</a></div><div class="ttdeci">#define T8</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00139">md5.c:139</a></div></div> <div class="ttc" id="md5_8c_html_a95926c75b59a707e570147442957963e"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a95926c75b59a707e570147442957963e">T40</a></div><div class="ttdeci">#define T40</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00171">md5.c:171</a></div></div> <div class="ttc" id="md5_8c_html_acf792dcc5f0d1bc2b8d1287b17d72ac1"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#acf792dcc5f0d1bc2b8d1287b17d72ac1">T23</a></div><div class="ttdeci">#define T23</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00154">md5.c:154</a></div></div> <div class="ttc" id="md5_8c_html_a19505a0c2fc06e1c4c64be198f78a156"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a19505a0c2fc06e1c4c64be198f78a156">T17</a></div><div class="ttdeci">#define T17</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00148">md5.c:148</a></div></div> <div class="ttc" id="md5_8c_html_a25376a7f6c04259754192cc5ae4d1d68"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a25376a7f6c04259754192cc5ae4d1d68">T57</a></div><div class="ttdeci">#define T57</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00188">md5.c:188</a></div></div> <div class="ttc" id="md5_8c_html_ad95c32f5d3a09b6d8cf5a17d2cfbe800"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ad95c32f5d3a09b6d8cf5a17d2cfbe800">T42</a></div><div class="ttdeci">#define T42</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00173">md5.c:173</a></div></div> <div class="ttc" id="md5_8c_html_afd5bf0370ca515c9464244666f9641c7"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#afd5bf0370ca515c9464244666f9641c7">T12</a></div><div class="ttdeci">#define T12</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00143">md5.c:143</a></div></div> <div class="ttc" id="md5_8c_html_a7b9a3f7a4f898ae604220d292eaa65e1"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a7b9a3f7a4f898ae604220d292eaa65e1">T49</a></div><div class="ttdeci">#define T49</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00180">md5.c:180</a></div></div> <div class="ttc" id="md5_8c_html_a3dbc83c9d83493c94e4df01ffd30a5bf"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a3dbc83c9d83493c94e4df01ffd30a5bf">T31</a></div><div class="ttdeci">#define T31</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00162">md5.c:162</a></div></div> <div class="ttc" id="md5_8c_html_a1fb43dcd147dd89fb67e8f9b2893d334"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a1fb43dcd147dd89fb67e8f9b2893d334">T20</a></div><div class="ttdeci">#define T20</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00151">md5.c:151</a></div></div> <div class="ttc" id="sha2_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="../../db/d4d/sha2_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> <a href="../../db/d4d/sha2_8h_source.html#l00100">sha2.h:100</a></div></div> <div class="ttc" id="md5_8c_html_a257f5770ee4a2539c22a971d078f7d1a"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a257f5770ee4a2539c22a971d078f7d1a">T37</a></div><div class="ttdeci">#define T37</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00168">md5.c:168</a></div></div> <div class="ttc" id="md5_8c_html_a6931b110a9ed5548e88ca9ed2d86fd51"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a6931b110a9ed5548e88ca9ed2d86fd51">T5</a></div><div class="ttdeci">#define T5</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00136">md5.c:136</a></div></div> <div class="ttc" id="win32ole_8c_html_a4b5a598a4f53b3724549c48dcfbf7c48"><div class="ttname"><a href="../../d2/d99/win32ole_8c.html#a4b5a598a4f53b3724549c48dcfbf7c48">p</a></div><div class="ttdeci">Win32OLEIDispatch * p</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d99/win32ole_8c_source.html#l00778">win32ole.c:778</a></div></div> <div class="ttc" id="md5_8c_html_a6e56e5ee32dc77a70b1f09466dd3c23f"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a6e56e5ee32dc77a70b1f09466dd3c23f">T53</a></div><div class="ttdeci">#define T53</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00184">md5.c:184</a></div></div> <div class="ttc" id="md5_8c_html_af88a549baf074feaea357cf86944fe5c"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#af88a549baf074feaea357cf86944fe5c">T27</a></div><div class="ttdeci">#define T27</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00158">md5.c:158</a></div></div> <div class="ttc" id="md5_8c_html_a84b5a55558ea68f8db1cbf414ea32964"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a84b5a55558ea68f8db1cbf414ea32964">T55</a></div><div class="ttdeci">#define T55</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00186">md5.c:186</a></div></div> <div class="ttc" id="md5_8c_html_a09099e8bdb15255f1bc69db50dfe530c"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a09099e8bdb15255f1bc69db50dfe530c">T51</a></div><div class="ttdeci">#define T51</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00182">md5.c:182</a></div></div> <div class="ttc" id="md5_8c_html_a53aa2f768c6a022a17d3fc015cf3d012"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a53aa2f768c6a022a17d3fc015cf3d012">T25</a></div><div class="ttdeci">#define T25</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00156">md5.c:156</a></div></div> <div class="ttc" id="md5_8c_html_a21163de9ed7de4dd54e63de71be39ffe"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a21163de9ed7de4dd54e63de71be39ffe">T9</a></div><div class="ttdeci">#define T9</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00140">md5.c:140</a></div></div> <div class="ttc" id="md5_8c_html_a1c68286a0508fc986f39cced276b2e28"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a1c68286a0508fc986f39cced276b2e28">T54</a></div><div class="ttdeci">#define T54</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00185">md5.c:185</a></div></div> <div class="ttc" id="md5_8c_html_a8516100c31eaf6e8a0c3ca7e1d68d5a5"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a8516100c31eaf6e8a0c3ca7e1d68d5a5">T41</a></div><div class="ttdeci">#define T41</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00172">md5.c:172</a></div></div> <div class="ttc" id="structmd5__state__s_html_abf7ef6da381be714a56330df63e244ed"><div class="ttname"><a href="../../d8/d22/structmd5__state__s.html#abf7ef6da381be714a56330df63e244ed">md5_state_s::state</a></div><div class="ttdeci">uint32_t state[4]</div><div class="ttdef"><b>Definition:</b> <a href="../../da/db0/md5_8h_source.html#l00061">md5.h:61</a></div></div> <div class="ttc" id="md5_8c_html_a7e3fcb261c24ae020b9aff7be20b86ca"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a7e3fcb261c24ae020b9aff7be20b86ca">T16</a></div><div class="ttdeci">#define T16</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00147">md5.c:147</a></div></div> <div class="ttc" id="md5_8c_html_a178fab52ae52ca723050819c504009a4"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a178fab52ae52ca723050819c504009a4">T45</a></div><div class="ttdeci">#define T45</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00176">md5.c:176</a></div></div> <div class="ttc" id="md5_8c_html_a9500449424a2e7b835530ad9a5d8d6b9"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a9500449424a2e7b835530ad9a5d8d6b9">T64</a></div><div class="ttdeci">#define T64</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00195">md5.c:195</a></div></div> <div class="ttc" id="md5_8c_html_a1afcb9eb34bec2165e342f3b2eeb06de"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a1afcb9eb34bec2165e342f3b2eeb06de">MD5_Init</a></div><div class="ttdeci">void MD5_Init(MD5_CTX *pms)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00354">md5.c:354</a></div></div> <div class="ttc" id="md5_8c_html_ad4644f19c3c46a544d3b5d3a94b8155f"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ad4644f19c3c46a544d3b5d3a94b8155f">MD5_Update</a></div><div class="ttdeci">void MD5_Update(MD5_CTX *pms, const uint8_t *data, size_t nbytes)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00364">md5.c:364</a></div></div> <div class="ttc" id="md5_8c_html_a2f3caa8f774b2def6cb061afcd8b5602"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a2f3caa8f774b2def6cb061afcd8b5602">MD5_Finish</a></div><div class="ttdeci">void MD5_Finish(MD5_CTX *pms, uint8_t *digest)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00402">md5.c:402</a></div></div> <div class="ttc" id="md5_8c_html_a5b569de807982d649a39b92356168b77"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a5b569de807982d649a39b92356168b77">T6</a></div><div class="ttdeci">#define T6</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00137">md5.c:137</a></div></div> <div class="ttc" id="md5_8c_html_a516aa8734affadd856417056d81eab93"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a516aa8734affadd856417056d81eab93">T44</a></div><div class="ttdeci">#define T44</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00175">md5.c:175</a></div></div> <div class="ttc" id="md5_8c_html_a670003ba5026a4844ee5e9281f0810bb"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a670003ba5026a4844ee5e9281f0810bb">T60</a></div><div class="ttdeci">#define T60</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00191">md5.c:191</a></div></div> <div class="ttc" id="md5_8c_html_ac16509a75e3d3fc46b9df1726be486ec"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ac16509a75e3d3fc46b9df1726be486ec">T1</a></div><div class="ttdeci">#define T1</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00132">md5.c:132</a></div></div> <div class="ttc" id="md5_8c_html_a259c2993ee45e06a4ea8150451a7a70e"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a259c2993ee45e06a4ea8150451a7a70e">T2</a></div><div class="ttdeci">#define T2</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00133">md5.c:133</a></div></div> <div class="ttc" id="md5_8c_html_afb60889361634ec300700e9f86ff0df5"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#afb60889361634ec300700e9f86ff0df5">T28</a></div><div class="ttdeci">#define T28</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00159">md5.c:159</a></div></div> <div class="ttc" id="md5_8c_html_a6efe3781c8bb0baad5ac307308b5c677"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a6efe3781c8bb0baad5ac307308b5c677">T39</a></div><div class="ttdeci">#define T39</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00170">md5.c:170</a></div></div> <div class="ttc" id="md5_8c_html_aa8ca9cfde8695b46070bfd0a7bff2c3b"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#aa8ca9cfde8695b46070bfd0a7bff2c3b">T30</a></div><div class="ttdeci">#define T30</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00161">md5.c:161</a></div></div> <div class="ttc" id="md5_8c_html_a43a89cb83a835ff0a198ac8d0e0354f1"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a43a89cb83a835ff0a198ac8d0e0354f1">T26</a></div><div class="ttdeci">#define T26</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00157">md5.c:157</a></div></div> <div class="ttc" id="structmd5__state__s_html_a3892b636e0283710c424219143e0c658"><div class="ttname"><a href="../../d8/d22/structmd5__state__s.html#a3892b636e0283710c424219143e0c658">md5_state_s::count</a></div><div class="ttdeci">uint32_t count[2]</div><div class="ttdef"><b>Definition:</b> <a href="../../da/db0/md5_8h_source.html#l00060">md5.h:60</a></div></div> <div class="ttc" id="sha2_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="../../db/d4d/sha2_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdef"><b>Definition:</b> <a href="../../db/d4d/sha2_8h_source.html#l00101">sha2.h:101</a></div></div> <div class="ttc" id="md5_8c_html_a2f2fde9f87b13b922513e5f8cb838fab"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a2f2fde9f87b13b922513e5f8cb838fab">T61</a></div><div class="ttdeci">#define T61</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00192">md5.c:192</a></div></div> <div class="ttc" id="md5_8c_html_a99cebbf76190a6be9d93f89068801925"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a99cebbf76190a6be9d93f89068801925">T47</a></div><div class="ttdeci">#define T47</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00178">md5.c:178</a></div></div> <div class="ttc" id="md5_8c_html_afbb65d5d87ebcb862a1e9623a9f9cfac"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a></div><div class="ttdeci">#define T32</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00163">md5.c:163</a></div></div> <div class="ttc" id="md5_8c_html_a3e85ed30c56ed0624d6c7d51c5a4c130"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a3e85ed30c56ed0624d6c7d51c5a4c130">T62</a></div><div class="ttdeci">#define T62</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00193">md5.c:193</a></div></div> <div class="ttc" id="win32ole_8c_html_ac4055e3a20b6b3af3d10590ea446ef6c"><div class="ttname"><a href="../../d2/d99/win32ole_8c.html#ac4055e3a20b6b3af3d10590ea446ef6c">v</a></div><div class="ttdeci">v</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d99/win32ole_8c_source.html#l00790">win32ole.c:790</a></div></div> <div class="ttc" id="md5_8c_html_a72ce9c35e7afbefae2af2444e2d4177e"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a72ce9c35e7afbefae2af2444e2d4177e">T19</a></div><div class="ttdeci">#define T19</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00150">md5.c:150</a></div></div> <div class="ttc" id="md5_8c_html_a935a699e9bf1bffc5dad8738d3cd24c0"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a935a699e9bf1bffc5dad8738d3cd24c0">T4</a></div><div class="ttdeci">#define T4</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00135">md5.c:135</a></div></div> <div class="ttc" id="md5_8c_html_a2ecc28a0523643551285b16c189518a0"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a2ecc28a0523643551285b16c189518a0">T7</a></div><div class="ttdeci">#define T7</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00138">md5.c:138</a></div></div> <div class="ttc" id="nkf-utf8_2nkf_8c_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="../../d6/da0/nkf-utf8_2nkf_8c.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/da0/nkf-utf8_2nkf_8c_source.html#l06446">nkf.c:6446</a></div></div> <div class="ttc" id="md5_8c_html_a61ec0679a9210c8f1733221ded0fd85a"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a61ec0679a9210c8f1733221ded0fd85a">T58</a></div><div class="ttdeci">#define T58</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00189">md5.c:189</a></div></div> <div class="ttc" id="md5_8c_html_a7116c4f5d98bf98dc1ea46089142ee75"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a7116c4f5d98bf98dc1ea46089142ee75">T38</a></div><div class="ttdeci">#define T38</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00169">md5.c:169</a></div></div> <div class="ttc" id="gb18030_8c_html_adc6e5733fc3c22f0a7b2914188c49c90"><div class="ttname"><a href="../../d5/d1d/gb18030_8c.html#adc6e5733fc3c22f0a7b2914188c49c90">state</a></div><div class="ttdeci">state</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d1d/gb18030_8c_source.html#l00213">gb18030.c:213</a></div></div> <div class="ttc" id="md5_8c_html_a3536974783988d0c205029ed0812f30d"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a3536974783988d0c205029ed0812f30d">T10</a></div><div class="ttdeci">#define T10</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00141">md5.c:141</a></div></div> <div class="ttc" id="name2ctype_8h_html_a86f2415763322050063a5502f87c9422"><div class="ttname"><a href="../../d3/d15/name2ctype_8h.html#a86f2415763322050063a5502f87c9422">long</a></div><div class="ttdeci">#define long</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d15/name2ctype_8h_source.html#l00037">name2ctype.h:37</a></div></div> <div class="ttc" id="md5_8c_html_a80329150b8e8b5b50a6d7302349e98a2"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a80329150b8e8b5b50a6d7302349e98a2">T22</a></div><div class="ttdeci">#define T22</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00153">md5.c:153</a></div></div> <div class="ttc" id="md5_8h_html"><div class="ttname"><a href="../../da/db0/md5_8h.html">md5.h</a></div></div> <div class="ttc" id="md5_8c_html_aea009020568c856d458f5aaf10205131"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#aea009020568c856d458f5aaf10205131">T34</a></div><div class="ttdeci">#define T34</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00165">md5.c:165</a></div></div> <div class="ttc" id="md5_8c_html_a65314705cc7e1b16abda26f959156a85"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a65314705cc7e1b16abda26f959156a85">T29</a></div><div class="ttdeci">#define T29</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00160">md5.c:160</a></div></div> <div class="ttc" id="md5_8c_html_abeeb6ae117dd230314d4a5c1e596c741"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#abeeb6ae117dd230314d4a5c1e596c741">T11</a></div><div class="ttdeci">#define T11</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00142">md5.c:142</a></div></div> <div class="ttc" id="md5_8c_html_ac5a7c6ee8dea0ccb09dfc611bd08a0ac"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#ac5a7c6ee8dea0ccb09dfc611bd08a0ac">T35</a></div><div class="ttdeci">#define T35</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00166">md5.c:166</a></div></div> <div class="ttc" id="md5_8c_html_a2d8a5083a030f6b36bc9a5fe6d71b519"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a2d8a5083a030f6b36bc9a5fe6d71b519">T_MASK</a></div><div class="ttdeci">#define T_MASK</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00131">md5.c:131</a></div></div> <div class="ttc" id="md5_8c_html_a6761c8bd1fae043d208fe975ff16facc"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a6761c8bd1fae043d208fe975ff16facc">T59</a></div><div class="ttdeci">#define T59</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00190">md5.c:190</a></div></div> <div class="ttc" id="md5_8c_html_a8e03c936168de4e755c6317af7ba6283"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a8e03c936168de4e755c6317af7ba6283">T48</a></div><div class="ttdeci">#define T48</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00179">md5.c:179</a></div></div> <div class="ttc" id="md5_8c_html_a0d052aa79c77ceb944fe113db08fc816"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a0d052aa79c77ceb944fe113db08fc816">T46</a></div><div class="ttdeci">#define T46</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00177">md5.c:177</a></div></div> <div class="ttc" id="md5_8c_html_a0f646ac0e60ce4c1cc2470b57115a2aa"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a0f646ac0e60ce4c1cc2470b57115a2aa">T50</a></div><div class="ttdeci">#define T50</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00181">md5.c:181</a></div></div> <div class="ttc" id="md5_8c_html_a5d800c5f04f8638061876b9e32c6c508"><div class="ttname"><a href="../../d7/d6c/md5_8c.html#a5d800c5f04f8638061876b9e32c6c508">T3</a></div><div class="ttdeci">#define T3</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d6c/md5_8c_source.html#l00134">md5.c:134</a></div></div> </div><!-- fragment --></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