<!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.5"/> <title>steghide: MHashPP Class Reference</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="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">steghide  <span id="projectnumber">0.5.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-static-methods">Static Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="classMHashPP-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">MHashPP Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="MHashPP_8h_source.html">MHashPP.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ac7390fc319fa6359e869ec9488d633ec"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633ec">Command</a> { <a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633eca3b9758f6c85df34357793d9110dd101f">endhash</a> }</td></tr> <tr class="separator:ac7390fc319fa6359e869ec9488d633ec"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a81d66380d1300a707d412089b7fa03a2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a81d66380d1300a707d412089b7fa03a2">MHashPP</a> (void)</td></tr> <tr class="separator:a81d66380d1300a707d412089b7fa03a2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5aa71b96476ef66d40abeed70e6ded19"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a5aa71b96476ef66d40abeed70e6ded19">MHashPP</a> (hashid a)</td></tr> <tr class="separator:a5aa71b96476ef66d40abeed70e6ded19"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af65d7afba20d0e7bf17c3b0021994385"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#af65d7afba20d0e7bf17c3b0021994385">init</a> (hashid a)</td></tr> <tr class="separator:af65d7afba20d0e7bf17c3b0021994385"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4478a5fadf4955519a3249bec76caf1e"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a4478a5fadf4955519a3249bec76caf1e">end</a> (void)</td></tr> <tr class="separator:a4478a5fadf4955519a3249bec76caf1e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adcd3d311e973d71d630a8eca38175141"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMHashPP.html">MHashPP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#adcd3d311e973d71d630a8eca38175141">operator<<</a> (std::string v)</td></tr> <tr class="separator:adcd3d311e973d71d630a8eca38175141"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5374fdd556a88fa8670bddb908c5064b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMHashPP.html">MHashPP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a5374fdd556a88fa8670bddb908c5064b">operator<<</a> (<a class="el" href="classBitString.html">BitString</a> v)</td></tr> <tr class="separator:a5374fdd556a88fa8670bddb908c5064b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1445453778f6129e6b4bbee53511b871"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMHashPP.html">MHashPP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a1445453778f6129e6b4bbee53511b871">operator<<</a> (<a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> v)</td></tr> <tr class="separator:a1445453778f6129e6b4bbee53511b871"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac1225a758ebadf9147e93923e7a1ac41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMHashPP.html">MHashPP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#ac1225a758ebadf9147e93923e7a1ac41">operator<<</a> (<a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633ec">Command</a> c)</td></tr> <tr class="separator:ac1225a758ebadf9147e93923e7a1ac41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac9a617262342f96190b12b5f8973d8ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitString.html">BitString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#ac9a617262342f96190b12b5f8973d8ee">getHashBits</a> (void)</td></tr> <tr class="separator:ac9a617262342f96190b12b5f8973d8ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a386c7cfc3d953d4a3c4a20a867c508aa"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a386c7cfc3d953d4a3c4a20a867c508aa">getHashBytes</a> (void)</td></tr> <tr class="separator:a386c7cfc3d953d4a3c4a20a867c508aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a844895b753aaff388be34cdb5332687f"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a844895b753aaff388be34cdb5332687f">getHashSize</a> (void)</td></tr> <tr class="separator:a844895b753aaff388be34cdb5332687f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:ab9a986263a0ef41639a2735aa8bb09b3"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#ab9a986263a0ef41639a2735aa8bb09b3">getAlgorithmName</a> (void)</td></tr> <tr class="separator:ab9a986263a0ef41639a2735aa8bb09b3"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a> Static Private Member Functions</h2></td></tr> <tr class="memitem:a9d7887a9f3ed507a075be49a10d56fbb"><td class="memItemLeft" align="right" valign="top">static std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a9d7887a9f3ed507a075be49a10d56fbb">getAlgorithmName</a> (hashid id)</td></tr> <tr class="separator:a9d7887a9f3ed507a075be49a10d56fbb"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:a37f39579ace5e9efadb5c7fca2dac267"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a37f39579ace5e9efadb5c7fca2dac267">hashing</a></td></tr> <tr class="memdesc:a37f39579ace5e9efadb5c7fca2dac267"><td class="mdescLeft"> </td><td class="mdescRight">true iff HashD contains a legal hash descriptor and data can be passed via << <a href="#a37f39579ace5e9efadb5c7fca2dac267">More...</a><br/></td></tr> <tr class="separator:a37f39579ace5e9efadb5c7fca2dac267"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8f7ec9e6dc85f7028062f0c74f7d23e1"><td class="memItemLeft" align="right" valign="top">MHASH </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a8f7ec9e6dc85f7028062f0c74f7d23e1">HashD</a></td></tr> <tr class="separator:a8f7ec9e6dc85f7028062f0c74f7d23e1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a8425e32209ba1c9b3615bf544c30cc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#a2a8425e32209ba1c9b3615bf544c30cc">HashBytesValid</a></td></tr> <tr class="memdesc:a2a8425e32209ba1c9b3615bf544c30cc"><td class="mdescLeft"> </td><td class="mdescRight">true iff HashBytes contains a valid hash value <a href="#a2a8425e32209ba1c9b3615bf544c30cc">More...</a><br/></td></tr> <tr class="separator:a2a8425e32209ba1c9b3615bf544c30cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa1a0569b571beb182bb65bb920635377"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classMHashPP.html#aa1a0569b571beb182bb65bb920635377">HashBytes</a></td></tr> <tr class="separator:aa1a0569b571beb182bb65bb920635377"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="ac7390fc319fa6359e869ec9488d633ec"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633ec">MHashPP::Command</a></td> </tr> </table> </div><div class="memdoc"> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ac7390fc319fa6359e869ec9488d633eca3b9758f6c85df34357793d9110dd101f"></a>endhash</em> </td><td class="fielddoc"> </td></tr> </table> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a81d66380d1300a707d412089b7fa03a2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">MHashPP::MHashPP </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a5aa71b96476ef66d40abeed70e6ded19"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">MHashPP::MHashPP </td> <td>(</td> <td class="paramtype">hashid </td> <td class="paramname"><em>a</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a4478a5fadf4955519a3249bec76caf1e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::vector< <a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> > & MHashPP::end </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab9a986263a0ef41639a2735aa8bb09b3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::string MHashPP::getAlgorithmName </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9d7887a9f3ed507a075be49a10d56fbb"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::string MHashPP::getAlgorithmName </td> <td>(</td> <td class="paramtype">hashid </td> <td class="paramname"><em>id</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ac9a617262342f96190b12b5f8973d8ee"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classBitString.html">BitString</a> MHashPP::getHashBits </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get the hash bits </p> <dl class="section return"><dt>Returns</dt><dd>the hash value of the data that has been passed via << </dd></dl> </div> </div> <a class="anchor" id="a386c7cfc3d953d4a3c4a20a867c508aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::vector< <a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> > & MHashPP::getHashBytes </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a844895b753aaff388be34cdb5332687f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int MHashPP::getHashSize </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get the hash size </p> <dl class="section return"><dt>Returns</dt><dd>the size of the value returned by getHashBits in bytes </dd></dl> </div> </div> <a class="anchor" id="af65d7afba20d0e7bf17c3b0021994385"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MHashPP::init </td> <td>(</td> <td class="paramtype">hashid </td> <td class="paramname"><em>a</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="adcd3d311e973d71d630a8eca38175141"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classMHashPP.html">MHashPP</a> & MHashPP::operator<< </td> <td>(</td> <td class="paramtype">std::string </td> <td class="paramname"><em>v</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>feed the std::string v to the hashing algorithm </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">v</td><td>the std::string to be feeded to the hashing algorithm (without '\0' at the end) </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a5374fdd556a88fa8670bddb908c5064b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classMHashPP.html">MHashPP</a> & MHashPP::operator<< </td> <td>(</td> <td class="paramtype"><a class="el" href="classBitString.html">BitString</a> </td> <td class="paramname"><em>v</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>feed the <a class="el" href="classBitString.html" title="a string of bits ">BitString</a> v to the hashing algorithm </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">v</td><td>the <a class="el" href="classBitString.html" title="a string of bits ">BitString</a> to be feeded to the hashing algorithm (v.getLength() % 8 == 0 must hold) </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a1445453778f6129e6b4bbee53511b871"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classMHashPP.html">MHashPP</a> & MHashPP::operator<< </td> <td>(</td> <td class="paramtype"><a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a> </td> <td class="paramname"><em>v</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>feed the byte v to the hashing algorithm </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">v</td><td>the byte to be feeded to the hashing algorithm </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac1225a758ebadf9147e93923e7a1ac41"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classMHashPP.html">MHashPP</a> & MHashPP::operator<< </td> <td>(</td> <td class="paramtype"><a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633ec">MHashPP::Command</a> </td> <td class="paramname"><em>c</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>interpret the command c </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">c</td><td>a command (member of <a class="el" href="classMHashPP.html#ac7390fc319fa6359e869ec9488d633ec">MHashPP::Command</a>) </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="aa1a0569b571beb182bb65bb920635377"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="common_8h.html#a4ae1dab0fb4b072a66584546209e7d58">BYTE</a>> MHashPP::HashBytes</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a2a8425e32209ba1c9b3615bf544c30cc"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool MHashPP::HashBytesValid</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a8f7ec9e6dc85f7028062f0c74f7d23e1"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">MHASH MHashPP::HashD</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a37f39579ace5e9efadb5c7fca2dac267"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool MHashPP::hashing</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="MHashPP_8h_source.html">MHashPP.h</a></li> <li><a class="el" href="MHashPP_8cc.html">MHashPP.cc</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 18 2013 17:59:37 for steghide by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>