⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_e_m_s_a2_decorated_hash_module.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Crypto++:  TemplateEMSA2DecoratedHashModule&lt; H &gt; class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>EMSA2DecoratedHashModule&lt; H &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="rw_8h-source.html">rw.h</a>&gt;</code><p><p>Inheritance diagram for EMSA2DecoratedHashModule&lt; H &gt;:<p><center><img src="class_e_m_s_a2_decorated_hash_module.png" usemap="#EMSA2DecoratedHashModule< H >_map" border="0" alt=""></center><map name="EMSA2DecoratedHashModule< H >_map"><area href="class_hash_transformation.html" alt="HashTransformation" shape="rect" coords="0,112,249,136"><area href="class_algorithm.html" alt="Algorithm" shape="rect" coords="0,56,249,80"><area href="class_clonable.html" alt="Clonable" shape="rect" coords="0,0,249,24"></map><a href="class_e_m_s_a2_decorated_hash_module-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template&lt;class H&gt;<br> class EMSA2DecoratedHashModule&lt; H &gt;</h3><p><p>Definition at line <a class="el" href="rw_8h-source.html#l00096">96</a> of file <a class="el" href="rw_8h-source.html">rw.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 name="_e_m_s_a2_decorated_hash_modulea1" doxytag="EMSA2DecoratedHashModule::Update"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea1">Update</a> (const byte *input, unsigned int length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">process more input <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_m_s_a2_decorated_hash_modulea2" doxytag="EMSA2DecoratedHashModule::DigestSize"></a>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea2">DigestSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of the hash returned by <a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea3">Final()</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea3">Final</a> (byte *digest)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute hash for current message, then restart for a new message </em> <a href="#_e_m_s_a2_decorated_hash_modulea3"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_e_m_s_a2_decorated_hash_modulea4" doxytag="EMSA2DecoratedHashModule::Restart"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea4">Restart</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">discard the current state, and restart with a new message <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_signature_encoding_method_with_recoverya5" doxytag="EMSA2DecoratedHashModule::TruncatedFinal"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>TruncatedFinal</b> (byte *digest, unsigned int digestSize)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca6" doxytag="EMSA2DecoratedHashModule::CreateUpdateSpace"></a>virtual byte *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_ca6">CreateUpdateSpace</a> (unsigned int &amp;size)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">request space to write input into <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca10" doxytag="EMSA2DecoratedHashModule::BlockSize"></a>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_ca10">BlockSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">block size of underlying compression function, or 0 if not block based <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca11" doxytag="EMSA2DecoratedHashModule::OptimalBlockSize"></a>virtual unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_ca11">OptimalBlockSize</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">input to <a class="el" href="class_hash_transformation.html#_x_m_a_c_ca5">Update()</a> should have length a multiple of this for optimal speed <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___basea14" doxytag="EMSA2DecoratedHashModule::CalculateDigest"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_c___basea14">CalculateDigest</a> (byte *digest, const byte *input, unsigned int length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use this if your input is in one piece and you don't want to call <a class="el" href="class_hash_transformation.html#_x_m_a_c_ca5">Update()</a> and <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea13">Final()</a> separately <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_c___basea15">Verify</a> (const byte *digest)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">verify that digest is a valid digest for the current message, then reinitialize the object </em> <a href="#_x_m_a_c_c___basea15"></a><em><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___basea16" doxytag="EMSA2DecoratedHashModule::VerifyDigest"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_c___basea16">VerifyDigest</a> (const byte *digest, const byte *input, unsigned int length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use this if your input is in one piece and you don't want to call <a class="el" href="class_hash_transformation.html#_x_m_a_c_ca5">Update()</a> and <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea15">Verify()</a> separately <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___basea17" doxytag="EMSA2DecoratedHashModule::CalculateTruncatedDigest"></a>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_c___basea17">CalculateTruncatedDigest</a> (byte *digest, unsigned int digestSize, const byte *input, unsigned int length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">truncated version of <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea14">CalculateDigest()</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca17" doxytag="EMSA2DecoratedHashModule::TruncatedVerify"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_ca17">TruncatedVerify</a> (const byte *digest, unsigned int digestLength)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">truncated version of <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea15">Verify()</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___basea18" doxytag="EMSA2DecoratedHashModule::VerifyTruncatedDigest"></a>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_x_m_a_c_c___basea18">VerifyTruncatedDigest</a> (const byte *digest, unsigned int digestLength, const byte *input, unsigned int length)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">truncated version of <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea16">VerifyDigest()</a> <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora17" doxytag="EMSA2DecoratedHashModule::AlgorithmName"></a>virtual std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_zlib_decompressora17">AlgorithmName</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns name of this algorithm, not universally implemented yet <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_zlib_decompressora18" doxytag="EMSA2DecoratedHashModule::Clone"></a>virtual <a class="el" href="class_clonable.html">Clonable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_zlib_decompressora18">Clone</a> () const</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this is not implemented by most classes yet <br><br></td></tr><tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___baseb7" doxytag="EMSA2DecoratedHashModule::ThrowIfInvalidTruncatedSize"></a>void&nbsp;</td><td class="memItemRight" valign=bottom><b>ThrowIfInvalidTruncatedSize</b> (unsigned int size) const</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_e_m_s_a2_decorated_hash_modulea3" doxytag="EMSA2DecoratedHashModule::Final"></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" colspan="4">template&lt;class H&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> void <a class="el" href="class_e_m_s_a2_decorated_hash_module.html">EMSA2DecoratedHashModule</a>&lt; H &gt;::Final </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">byte *&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>digest</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>compute hash for current message, then restart for a new message <p><dl compact><dt><b>Precondition:</b></dt><dd>size of digest == <a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea2">DigestSize()</a>. </dd></dl><p>Reimplemented from <a class="el" href="class_hash_transformation.html#_x_m_a_c_c___basea13">HashTransformation</a>.<p>Definition at line <a class="el" href="rw_8h-source.html#l00131">131</a> of file <a class="el" href="rw_8h-source.html">rw.h</a>.<p>References <a class="el" href="rw_8h-source.html#l00140">EMSA2DecoratedHashModule&lt; H &gt;::DigestSize()</a>.    </td>  </tr></table><a name="_x_m_a_c_c___basea15" doxytag="EMSA2DecoratedHashModule::Verify"></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 bool HashTransformation::Verify </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const byte *&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>digest</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap><code> [inline, virtual, inherited]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>verify that digest is a valid digest for the current message, then reinitialize the object <p>Default implementation is to call <a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea3">Final()</a> and do a bitwise comparison between its output and digest. <p>Reimplemented in <a class="el" href="class_signature_encoding_method_with_recovery.html#_signature_encoding_method_with_recoverya2">SignatureEncodingMethodWithRecovery</a>.<p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00549">549</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<p>Referenced by <a class="el" href="pubkey_8h-source.html#l00587">VerifierWithRecoveryTemplate&lt; TF, H &gt;::VerifyAndRestart()</a>.    </td>  </tr></table><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="rw_8h-source.html">rw.h</a></ul><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:57 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -