📄 class_m_d5_m_a_c___base.html
字号:
<tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca32" doxytag="MD5MAC_Base::IVSize"></a>virtual unsigned int </td><td class="memItemRight" valign=bottom><a class="el" href="class_m_d5_m_a_c___base.html#_x_m_a_c_ca32">IVSize</a> () const</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns size of IVs used by this object <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_ca33" doxytag="MD5MAC_Base::Resynchronize"></a>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_m_d5_m_a_c___base.html#_x_m_a_c_ca33">Resynchronize</a> (const byte *IV)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">resynchronize with an IV <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="class_m_d5_m_a_c___base.html#_x_m_a_c_ca34">GetNextIV</a> (byte *IV)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">get a secure IV for the next message </em> <a href="#_x_m_a_c_ca34"></a><em><br><br></td></tr><tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_m_d5_m_a_c___basee0" doxytag="MD5MAC_Base::StaticAlgorithmName"></a>std::string </td><td class="memItemRight" valign=bottom><b>StaticAlgorithmName</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_fixed_key_lengthe0" doxytag="MD5MAC_Base::StaticGetValidKeyLength"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>StaticGetValidKeyLength</b> (unsigned int)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2e0" doxytag="MD5MAC_Base::CorrectEndianess"></a>void </td><td class="memItemRight" valign=bottom><b>CorrectEndianess</b> (HashWordType *out, const HashWordType *in, unsigned int byteCount)</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="_m_d5_m_a_c___baseb0" doxytag="MD5MAC_Base::vTransform"></a>void </td><td class="memItemRight" valign=bottom><b>vTransform</b> (const word32 *data)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_m_d5_m_a_c___baseb1" doxytag="MD5MAC_Base::Init"></a>void </td><td class="memItemRight" valign=bottom><b>Init</b> ()</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hashb1" doxytag="MD5MAC_Base::BlockSize"></a>unsigned int </td><td class="memItemRight" valign=bottom><b>BlockSize</b> () const</td></tr><tr><td class="mdescLeft"> </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="_iterated_hash_base2b0" doxytag="MD5MAC_Base::HashBlock"></a>void </td><td class="memItemRight" valign=bottom><b>HashBlock</b> (const HashWordType *input)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b7" doxytag="MD5MAC_Base::HashBlock"></a>virtual void </td><td class="memItemRight" valign=bottom><b>HashBlock</b> (const word32 *input)=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b1" doxytag="MD5MAC_Base::vTransform"></a>virtual void </td><td class="memItemRight" valign=bottom><b>vTransform</b> (const HashWordType *data)=0</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b2" doxytag="MD5MAC_Base::GetBitCountHi"></a>word32 </td><td class="memItemRight" valign=bottom><b>GetBitCountHi</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b3" doxytag="MD5MAC_Base::GetBitCountLo"></a>word32 </td><td class="memItemRight" valign=bottom><b>GetBitCountLo</b> () const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b4" doxytag="MD5MAC_Base::HashMultipleBlocks"></a>virtual unsigned int </td><td class="memItemRight" valign=bottom><b>HashMultipleBlocks</b> (const word32 *input, unsigned int length)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2b5" doxytag="MD5MAC_Base::PadLastBlock"></a>void </td><td class="memItemRight" valign=bottom><b>PadLastBlock</b> (unsigned int lastBlockSize, byte padFirst=0x80)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___baseb7" doxytag="MD5MAC_Base::ThrowIfInvalidTruncatedSize"></a>void </td><td class="memItemRight" valign=bottom><b>ThrowIfInvalidTruncatedSize</b> (unsigned int size) const</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___baseb8" doxytag="MD5MAC_Base::ThrowIfInvalidKeyLength"></a>void </td><td class="memItemRight" valign=bottom><b>ThrowIfInvalidKeyLength</b> (const <a class="el" href="class_algorithm.html">Algorithm</a> &algorithm, unsigned int length)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_x_m_a_c_c___baseb9" doxytag="MD5MAC_Base::AssertValidKeyLength"></a>void </td><td class="memItemRight" valign=bottom><b>AssertValidKeyLength</b> (unsigned int length) const</td></tr><tr><td colspan=2><br><h2>Static Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_m_d5_m_a_c___basef0" doxytag="MD5MAC_Base::Transform"></a>void </td><td class="memItemRight" valign=bottom><b>Transform</b> (word32 *buf, const word32 *in, const word32 *key)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_m_d5_m_a_c___basep0" doxytag="MD5MAC_Base::m_key"></a>FixedSizeSecBlock< word32, 12 > </td><td class="memItemRight" valign=bottom><b>m_key</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2p0" doxytag="MD5MAC_Base::m_data"></a><a class="el" href="class_sec_block.html">SecBlock</a>< word32 > </td><td class="memItemRight" valign=bottom><b>m_data</b></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a name="_iterated_hash_base2p1" doxytag="MD5MAC_Base::m_digest"></a><a class="el" href="class_sec_block.html">SecBlock</a>< word32 > </td><td class="memItemRight" valign=bottom><b>m_digest</b></td></tr><tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>const word32 </td><td class="memItemRight" valign=bottom><b>T</b> [12]</td></tr></table><hr><h2>Member Function Documentation</h2><a name="_x_m_a_c_c___basea13" doxytag="MD5MAC_Base::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" nowrap valign="top"> virtual void HashTransformation::Final </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">byte * </td> <td class="mdname1" valign="top" nowrap> <em>digest</em> </td> <td class="md" valign="top"> ) </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> </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_hash_transformation.html#_x_m_a_c_ca9">DigestSize()</a>. </dd></dl><p>Reimplemented in <a class="el" href="class_p_k_c_s___decorated_hash_module.html#_p_k_c_s___decorated_hash_modulea2">PKCS_DecoratedHashModule< H ></a>, <a class="el" href="class_signature_encoding_method_with_recovery.html#_signature_encoding_method_with_recoverya0">SignatureEncodingMethodWithRecovery</a>, and <a class="el" href="class_e_m_s_a2_decorated_hash_module.html#_e_m_s_a2_decorated_hash_modulea3">EMSA2DecoratedHashModule< H ></a>.<p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00526">526</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<p>Referenced by <a class="el" href="filters_8cpp-source.html#l00635">HashFilter::Put2()</a>, <a class="el" href="pubkey_8h-source.html#l00439">PK_SignerBase< H >::SignAndRestart()</a>, and <a class="el" href="pubkey_8h-source.html#l00449">PK_VerifierBase< H >::VerifyAndRestart()</a>. </td> </tr></table><a name="_x_m_a_c_c___basea15" doxytag="MD5MAC_Base::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">( </td> <td class="md" nowrap valign="top">const byte * </td> <td class="mdname1" valign="top" nowrap> <em>digest</em> </td> <td class="md" valign="top"> ) </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> </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_hash_transformation.html#_x_m_a_c_c___basea13">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< TF, H >::VerifyAndRestart()</a>. </td> </tr></table><a name="_x_m_a_c_c___basea26" doxytag="MD5MAC_Base::SetKey"></a><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -