<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crypto++: PasswordBasedKeyDerivationFunction class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.7 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>PasswordBasedKeyDerivationFunction Class Reference</h1><code>#include <<a class="el" href="pwdbased_8h-source.html">pwdbased.h</a>></code> <p> <p>Inheritance diagram for PasswordBasedKeyDerivationFunction: <p><center><img src="class_password_based_key_derivation_function.png" usemap="#PasswordBasedKeyDerivationFunction_map" border="0" alt=""></center> <map name="PasswordBasedKeyDerivationFunction_map"> <area href="class_p_k_c_s12___p_b_k_d_f.html" alt="PKCS12_PBKDF< T >" shape="rect" coords="0,56,231,80"> <area href="class_p_k_c_s5___p_b_k_d_f1.html" alt="PKCS5_PBKDF1< T >" shape="rect" coords="241,56,472,80"> <area href="class_p_k_c_s5___p_b_k_d_f2___h_m_a_c.html" alt="PKCS5_PBKDF2_HMAC< T >" shape="rect" coords="482,56,713,80"> </map> <a href="class_password_based_key_derivation_function-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> abstract base class for password based key derivation function <p> <p> Definition at line <a class="el" href="pwdbased_8h-source.html#l00013">13</a> of file <a class="el" href="pwdbased_8h-source.html">pwdbased.h</a>.<table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_password_based_key_derivation_functiona0" doxytag="PasswordBasedKeyDerivationFunction::MaxDerivedKeyLength" ></a> virtual unsigned int </td><td class="memItemRight" valign=bottom><b>MaxDerivedKeyLength</b> () const =0</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="_password_based_key_derivation_functiona1" doxytag="PasswordBasedKeyDerivationFunction::UsesPurposeByte" ></a> virtual bool </td><td class="memItemRight" valign=bottom><b>UsesPurposeByte</b> () const =0</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_password_based_key_derivation_function.html#_password_based_key_derivation_functiona2">DeriveKey</a> (byte *derived, unsigned int derivedLen, byte purpose, const byte *password, unsigned int passwordLen, const byte *salt, unsigned int saltLen, unsigned int iterations, double timeInSeconds=0) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">derive key from password <a href="#_password_based_key_derivation_functiona2"></a><br><br></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="_password_based_key_derivation_functiona2" doxytag="PasswordBasedKeyDerivationFunction::DeriveKey" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual unsigned int PasswordBasedKeyDerivationFunction::DeriveKey </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">byte * </td> <td class="mdname" nowrap> <em>derived</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>derivedLen</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>byte </td> <td class="mdname" nowrap> <em>purpose</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>password</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>passwordLen</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>const byte * </td> <td class="mdname" nowrap> <em>salt</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>saltLen</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>iterations</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>timeInSeconds</em> = <code>0</code></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"> const<code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> derive key from password <p> If timeInSeconds != 0, will iterate until time elapsed, as measured by <a class="el" href="class_thread_user_timer.html">ThreadUserTimer</a> Returns actual iteration count, which is equal to iterations if timeInSeconds == 0, and not less than iterations otherwise. <p> Implemented in <a class="el" href="class_p_k_c_s5___p_b_k_d_f1.html#_p_k_c_s5___p_b_k_d_f1a2">PKCS5_PBKDF1< T ></a>, <a class="el" href="class_p_k_c_s5___p_b_k_d_f2___h_m_a_c.html#_p_k_c_s5___p_b_k_d_f2___h_m_a_ca2">PKCS5_PBKDF2_HMAC< T ></a>, and <a class="el" href="class_p_k_c_s12___p_b_k_d_f.html#_p_k_c_s12___p_b_k_d_fa2">PKCS12_PBKDF< T ></a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="pwdbased_8h-source.html">pwdbased.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:24:06 2004 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address> </body> </html>