Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > cf66605433f4ed2e749a1e5586d0533a > files > 194

libapr-util-devel-1.6.1-3.mga7.armv7hl.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"/>
<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>Apache Portable Runtime Utility Library: MD5 Routines</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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">Apache Portable Runtime Utility Library
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<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&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">MD5 Routines</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga0bb65e74ccdddca6ef75e886084e52dc"><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 class="separator:ga0bb65e74ccdddca6ef75e886084e52dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gacb4d6bf2cf0a29553a63273ff0a6fe69"><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 class="separator:gacb4d6bf2cf0a29553a63273ff0a6fe69"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga7a0502bfc466821beabe4876987fbcb5"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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 class="separator:ga7a0502bfc466821beabe4876987fbcb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad80cbd97ca3197a237bbed006c033a57"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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 class="separator:gad80cbd97ca3197a237bbed006c033a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ae4e5c171ae98953e716ac02f026ed2"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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 class="separator:ga1ae4e5c171ae98953e716ac02f026ed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga245fb83991257b096ebadd2b1b8cef62"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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[<a class="el" href="group___a_p_r___m_d5.html#ga0bb65e74ccdddca6ef75e886084e52dc">APR_MD5_DIGESTSIZE</a>], <a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> *context)</td></tr>
<tr class="separator:ga245fb83991257b096ebadd2b1b8cef62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac98c04b75053ae04907ca325f46df955"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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[<a class="el" href="group___a_p_r___m_d5.html#ga0bb65e74ccdddca6ef75e886084e52dc">APR_MD5_DIGESTSIZE</a>], const void *input, apr_size_t inputLen)</td></tr>
<tr class="separator:gac98c04b75053ae04907ca325f46df955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf902e64b62e4056c6dcc1594b2dca645"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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 class="separator:gaf902e64b62e4056c6dcc1594b2dca645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a82cd796a9a185c467b60f3a142dad2"><td class="memItemLeft" align="right" valign="top">apr_status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___m_d5.html#ga9a82cd796a9a185c467b60f3a142dad2">apr_bcrypt_encode</a> (const char *pw, unsigned int count, const unsigned char *salt, apr_size_t salt_len, char *out, apr_size_t out_len)</td></tr>
<tr class="separator:ga9a82cd796a9a185c467b60f3a142dad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ea1aa7e468de57e603d6e1d1b1516f2"><td class="memItemLeft" align="right" valign="top">apr_status_t&#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>
<tr class="separator:ga9ea1aa7e468de57e603d6e1d1b1516f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga0bb65e74ccdddca6ef75e886084e52dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0bb65e74ccdddca6ef75e886084e52dc">&#9670;&nbsp;</a></span>APR_MD5_DIGESTSIZE</h2>

<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>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gacb4d6bf2cf0a29553a63273ff0a6fe69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb4d6bf2cf0a29553a63273ff0a6fe69">&#9670;&nbsp;</a></span>apr_md5_ctx_t</h2>

<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="section see"><dt>See also</dt><dd><a class="el" href="structapr__md5__ctx__t.html">apr_md5_ctx_t</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9a82cd796a9a185c467b60f3a142dad2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a82cd796a9a185c467b60f3a142dad2">&#9670;&nbsp;</a></span>apr_bcrypt_encode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_bcrypt_encode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>salt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>salt_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>out_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Encode a password using the bcrypt algorithm </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">password</td><td>The password to encode </td></tr>
    <tr><td class="paramname">count</td><td>The cost of the encoding, possible values are 4 to 31 </td></tr>
    <tr><td class="paramname">salt</td><td>Pointer to binary data to be used as salt for the encoding </td></tr>
    <tr><td class="paramname">salt_len</td><td>The size of the salt data (must be &gt;= 16) </td></tr>
    <tr><td class="paramname">out</td><td>The string to store the encoded password in </td></tr>
    <tr><td class="paramname">out_len</td><td>The size of the result buffer (must be &gt;= 61) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gac98c04b75053ae04907ca325f46df955"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac98c04b75053ae04907ca325f46df955">&#9670;&nbsp;</a></span>apr_md5()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 id="gaf902e64b62e4056c6dcc1594b2dca645"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf902e64b62e4056c6dcc1594b2dca645">&#9670;&nbsp;</a></span>apr_md5_encode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 string 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 id="ga245fb83991257b096ebadd2b1b8cef62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga245fb83991257b096ebadd2b1b8cef62">&#9670;&nbsp;</a></span>apr_md5_final()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 id="ga7a0502bfc466821beabe4876987fbcb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7a0502bfc466821beabe4876987fbcb5">&#9670;&nbsp;</a></span>apr_md5_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 id="gad80cbd97ca3197a237bbed006c033a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad80cbd97ca3197a237bbed006c033a57">&#9670;&nbsp;</a></span>apr_md5_set_xlate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 id="ga1ae4e5c171ae98953e716ac02f026ed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ae4e5c171ae98953e716ac02f026ed2">&#9670;&nbsp;</a></span>apr_md5_update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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 class="params"><dt>Parameters</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 id="ga9ea1aa7e468de57e603d6e1d1b1516f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ea1aa7e468de57e603d6e1d1b1516f2">&#9670;&nbsp;</a></span>apr_password_validate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t 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, bcrypt, 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 class="params"><dt>Parameters</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><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>