Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 42b8e67cd59abacb81e11c7ba39524d1 > files > 213

apr-api-docs-1.4.2-1.fc15.noarch.rpm

<!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"/>
<title>Apache Portable Runtime: MD5 Routines</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache Portable Runtime</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>MD5 Routines</h1>  </div>
<div class="ingroups"><a class="el" href="group___a_p_r.html">Apache Portability Runtime library</a></div></div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga0bb65e74ccdddca6ef75e886084e52dc">APR_MD5_DIGESTSIZE</a>&#160;&#160;&#160;16</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#gacb4d6bf2cf0a29553a63273ff0a6fe69">apr_md5_ctx_t</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga7a0502bfc466821beabe4876987fbcb5">apr_md5_init</a> (<a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#gad80cbd97ca3197a237bbed006c033a57">apr_md5_set_xlate</a> (<a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *context, <a class="el" href="group___a_p_r___x_l_a_t_e.html#ga069dabbadc30e3a4157c38104a250e77">apr_xlate_t</a> *xlate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga1ae4e5c171ae98953e716ac02f026ed2">apr_md5_update</a> (<a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *context, const void *input, apr_size_t inputLen)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga245fb83991257b096ebadd2b1b8cef62">apr_md5_final</a> (unsigned char digest[APR_MD5_DIGESTSIZE], <a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#gac98c04b75053ae04907ca325f46df955">apr_md5</a> (unsigned char digest[APR_MD5_DIGESTSIZE], const void *input, apr_size_t inputLen)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#gaf902e64b62e4056c6dcc1594b2dca645">apr_md5_encode</a> (const char *password, const char *salt, char *result, apr_size_t nbytes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga9ea1aa7e468de57e603d6e1d1b1516f2">apr_password_validate</a> (const char *passwd, const char *hash)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga0bb65e74ccdddca6ef75e886084e52dc"></a><!-- doxytag: member="apr_md5.h::APR_MD5_DIGESTSIZE" ref="ga0bb65e74ccdddca6ef75e886084e52dc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_MD5_DIGESTSIZE&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The MD5 digest size </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gacb4d6bf2cf0a29553a63273ff0a6fe69"></a><!-- doxytag: member="apr_md5.h::apr_md5_ctx_t" ref="gacb4d6bf2cf0a29553a63273ff0a6fe69" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> <a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> </dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gac98c04b75053ae04907ca325f46df955"></a><!-- doxytag: member="apr_md5.h::apr_md5" ref="gac98c04b75053ae04907ca325f46df955" args="(unsigned char digest[APR_MD5_DIGESTSIZE], const void *input, apr_size_t inputLen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5 </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>digest</em>[APR_MD5_DIGESTSIZE], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>inputLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 in one step </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">digest</td><td>The final MD5 digest </td></tr>
    <tr><td class="paramname">input</td><td>The message block to use </td></tr>
    <tr><td class="paramname">inputLen</td><td>The length of the message block </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf902e64b62e4056c6dcc1594b2dca645"></a><!-- doxytag: member="apr_md5.h::apr_md5_encode" ref="gaf902e64b62e4056c6dcc1594b2dca645" args="(const char *password, const char *salt, char *result, apr_size_t nbytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5_encode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>salt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>nbytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Encode a password using an MD5 algorithm </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">password</td><td>The password to encode </td></tr>
    <tr><td class="paramname">salt</td><td>The salt to use for the encoding </td></tr>
    <tr><td class="paramname">result</td><td>The string to store the encoded password in </td></tr>
    <tr><td class="paramname">nbytes</td><td>The size of the result buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga245fb83991257b096ebadd2b1b8cef62"></a><!-- doxytag: member="apr_md5.h::apr_md5_final" ref="ga245fb83991257b096ebadd2b1b8cef62" args="(unsigned char digest[APR_MD5_DIGESTSIZE], apr_md5_ctx_t *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5_final </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>digest</em>[APR_MD5_DIGESTSIZE], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">digest</td><td>The final MD5 digest </td></tr>
    <tr><td class="paramname">context</td><td>The MD5 content we are finalizing. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7a0502bfc466821beabe4876987fbcb5"></a><!-- doxytag: member="apr_md5.h::apr_md5_init" ref="ga7a0502bfc466821beabe4876987fbcb5" args="(apr_md5_ctx_t *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 Initialize. Begins an MD5 operation, writing a new context. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The MD5 context to initialize. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad80cbd97ca3197a237bbed006c033a57"></a><!-- doxytag: member="apr_md5.h::apr_md5_set_xlate" ref="gad80cbd97ca3197a237bbed006c033a57" args="(apr_md5_ctx_t *context, apr_xlate_t *xlate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5_set_xlate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___a_p_r___x_l_a_t_e.html#ga069dabbadc30e3a4157c38104a250e77">apr_xlate_t</a> *&#160;</td>
          <td class="paramname"><em>xlate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 translation setup. Provides the APR translation handle to be used for translating the content before calculating the digest. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The MD5 content to set the translation for. </td></tr>
    <tr><td class="paramname">xlate</td><td>The translation handle to use for this MD5 context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1ae4e5c171ae98953e716ac02f026ed2"></a><!-- doxytag: member="apr_md5.h::apr_md5_update" ref="ga1ae4e5c171ae98953e716ac02f026ed2" args="(apr_md5_ctx_t *context, const void *input, apr_size_t inputLen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_md5_update </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>inputLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 block update operation. Continue an MD5 message-digest operation, processing another message block, and updating the context. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The MD5 content to update. </td></tr>
    <tr><td class="paramname">input</td><td>next message block to update </td></tr>
    <tr><td class="paramname">inputLen</td><td>The length of the next message block </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9ea1aa7e468de57e603d6e1d1b1516f2"></a><!-- doxytag: member="apr_md5.h::apr_password_validate" ref="ga9ea1aa7e468de57e603d6e1d1b1516f2" args="(const char *passwd, const char *hash)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_password_validate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>passwd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Validate hashes created by APR-supported algorithms: md5 and sha1. hashes created by crypt are supported only on platforms that provide crypt(3), so don't rely on that function unless you know that your application will be run only on platforms that support it. On platforms that don't support crypt(3), this falls back to a clear text string comparison. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">passwd</td><td>The password to validate </td></tr>
    <tr><td class="paramname">hash</td><td>The password to validate against </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for Apache Portable Runtime by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>