📄 class_v_m_a_c.html
字号:
This function is useful for passing a temporary <a class="el" href="class_hash_transformation.html" title="interface for hash functions and data processing part of MACs">HashTransformation</a> object to a function that takes a non-const reference. <p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00533">533</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.</div></div><p><a class="anchor" name="a0b8c7a110d8968268fd02ec32b9a8e8"></a><!-- doxytag: member="VMAC::Final" ref="a0b8c7a110d8968268fd02ec32b9a8e8" args="(byte *digest)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void HashTransformation::Final </td> <td>(</td> <td class="paramtype">byte * </td> <td class="paramname"> <em>digest</em> </td> <td> ) </td> <td width="100%"><code> [inline, virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>compute hash for current message, then restart for a new message <p><dl class="pre" compact><dt><b>Precondition:</b></dt><dd>size of digest == <a class="el" href="class_hash_transformation.html#41faf8b1293a6c72390cb0c8bd668097" title="size of the hash returned by Final()">DigestSize()</a>. </dd></dl><p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00543">543</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<p>Referenced by <a class="el" href="pssr_8cpp-source.html#l00045">PSSR_MEM_Base::ComputeMessageRepresentative()</a>, <a class="el" href="pkcspad_8cpp-source.html#l00089">PKCS1v15_SignatureMessageEncodingMethod::ComputeMessageRepresentative()</a>, <a class="el" href="esign_8h-source.html#l00092">EMSA5Pad< T >::ComputeMessageRepresentative()</a>, <a class="el" href="pwdbased_8h-source.html#l00085">PKCS5_PBKDF2_HMAC< T >::DeriveKey()</a>, <a class="el" href="default_8cpp-source.html#l00083">DefaultEncryptor::FirstPut()</a>, <a class="el" href="randpool_8cpp-source.html#l00024">RandomPool::IncorporateEntropy()</a>, <a class="el" href="pssr_8cpp-source.html#l00084">PSSR_MEM_Base::RecoverMessageFromRepresentative()</a>, <a class="el" href="hmac_8cpp-source.html#l00067">HMAC_Base::TruncatedFinal()</a>, <a class="el" href="zlib_8cpp-source.html#l00033">ZlibCompressor::WritePoststreamTail()</a>, and <a class="el" href="gzip_8cpp-source.html#l00029">Gzip::WritePoststreamTail()</a>.</div></div><p><a class="anchor" name="16c4aecd047015d513feef4ed5b929ba"></a><!-- doxytag: member="VMAC::Verify" ref="16c4aecd047015d513feef4ed5b929ba" args="(const byte *digest)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool HashTransformation::Verify </td> <td>(</td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>digest</em> </td> <td> ) </td> <td width="100%"><code> [inline, virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><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#a0b8c7a110d8968268fd02ec32b9a8e8" title="compute hash for current message, then restart for a new message">Final()</a> and do a bitwise comparison between its output and digest. <p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00569">569</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#l00773">HashVerificationFilter::LastPut()</a>, <a class="el" href="gzip_8cpp-source.html#l00084">Gunzip::ProcessPoststreamTail()</a>, and <a class="el" href="pssr_8cpp-source.html#l00084">PSSR_MEM_Base::RecoverMessageFromRepresentative()</a>.</div></div><p><a class="anchor" name="df3c29b3ef3af74788a58c7c49887fd7"></a><!-- doxytag: member="VMAC::SetKey" ref="df3c29b3ef3af74788a58c7c49887fd7" args="(const byte *key, size_t length, const NameValuePairs &params=g_nullNameValuePairs)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void SimpleKeyingInterface::SetKey </td> <td>(</td> <td class="paramtype">const byte * </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> & </td> <td class="paramname"> <em>params</em> = <code><a class="el" href="cryptlib_8h.html#d3205973dd1afa14090a683154c1109c">g_nullNameValuePairs</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>set or reset the key of this object <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>is used to specify Rounds, BlockSize, etc </td></tr> </table></dl><p>Reimplemented in <a class="el" href="class_e_c_b___one_way.html#ea389c964114b73390dd81d836124461">ECB_OneWay</a>.<p>Definition at line <a class="el" href="cryptlib_8cpp-source.html#l00052">52</a> of file <a class="el" href="cryptlib_8cpp-source.html">cryptlib.cpp</a>.<p>References <a class="el" href="cryptlib_8cpp-source.html#l00068">SimpleKeyingInterface::ThrowIfInvalidKeyLength()</a>.<p>Referenced by <a class="el" href="cbcmac_8h-source.html#l00039">CBC_MAC< T >::CBC_MAC()</a>, <a class="el" href="modes_8h-source.html#l00267">CipherModeFinalTemplate_CipherHolder< CIPHER, BASE >::CipherModeFinalTemplate_CipherHolder()</a>, <a class="el" href="dmac_8h-source.html#l00043">DMAC< T >::DMAC()</a>, <a class="el" href="hmac_8h-source.html#l00047">HMAC< T >::HMAC()</a>, <a class="el" href="panama_8h-source.html#l00104">Weak::PanamaMAC< B >::PanamaMAC()</a>, <a class="el" href="modes_8h-source.html#l00194">ECB_OneWay::SetKey()</a>, <a class="el" href="cryptlib_8cpp-source.html#l00063">SimpleKeyingInterface::SetKeyWithIV()</a>, <a class="el" href="cryptlib_8cpp-source.html#l00058">SimpleKeyingInterface::SetKeyWithRounds()</a>, <a class="el" href="vmac_8cpp-source.html#l00031">VMAC_Base::UncheckedSetKey()</a>, and <a class="el" href="modes_8cpp-source.html#l00087">BlockOrientedCipherModeBase::UncheckedSetKey()</a>.</div></div><p><a class="anchor" name="71039112353cc70e9859ebd95037cc1a"></a><!-- doxytag: member="VMAC::IsResynchronizable" ref="71039112353cc70e9859ebd95037cc1a" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">bool SimpleKeyingInterface::IsResynchronizable </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, inherited]</code></td> </tr> </table></div><div class="memdoc"><p>returns whether this object can be resynchronized (i.e. supports initialization vectors) <p>If this function returns true, and no IV is passed to <a class="el" href="class_simple_keying_interface.html#df3c29b3ef3af74788a58c7c49887fd7" title="set or reset the key of this object">SetKey()</a> and <a class="el" href="class_simple_keying_interface.html#fbf7065f7db5439d471d1bcc260d3bd5" title="returns whether this object can use structured IVs, for example a counter (in addition...">CanUseStructuredIVs()</a>==true, an IV of all 0's will be assumed. <p>Definition at line <a class="el" href="cryptlib_8h-source.html#l00388">388</a> of file <a class="el" href="cryptlib_8h-source.html">cryptlib.h</a>.<p>Referenced by <a class="el" href="cryptlib_8cpp-source.html#l00080">SimpleKeyingInterface::ThrowIfInvalidIV()</a>, <a class="el" href="cryptlib_8cpp-source.html#l00074">SimpleKeyingInterface::ThrowIfResynchronizable()</a>, and <a class="el" href="modes_8cpp-source.html#l00087">BlockOrientedCipherModeBase::UncheckedSetKey()</a>.</div></div><p><hr>The documentation for this class was generated from the following file:<ul><li><a class="el" href="vmac_8h-source.html">vmac.h</a></ul><hr size="1"><address style="text-align: right;"><small>Generated on Fri Jun 1 11:11:53 2007 for Crypto++ by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -