<!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"/> <title>ucommon: ucommon::Cipher::Key Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00034.html">Cipher</a>::<a class="el" href="a00035.html">Key</a> </div> </div> <div class="contents"> <h1>ucommon::Cipher::Key Class Reference</h1><!-- doxytag: class="ucommon::Cipher::Key" --> <p><a class="el" href="a00034.html" title="A generic data ciphering class.">Cipher</a> key formed by hash algorithm. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00196_source.html">secure.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e8a4a51b39145fbea2599d0563ebd53"></a><!-- doxytag: member="ucommon::Cipher::Key::assign" ref="a6e8a4a51b39145fbea2599d0563ebd53" args="(const char *key, size_t size=0)" --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (const char *key, size_t size=0)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3dfbfb351dcd5b27d08d8e3eeb75f99"></a><!-- doxytag: member="ucommon::Cipher::Key::clear" ref="aa3dfbfb351dcd5b27d08d8e3eeb75f99" args="(void)" --> void </td><td class="memItemRight" valign="bottom"><b>clear</b> (void)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4e776d0c9253d6eada83a0203f292eb"></a><!-- doxytag: member="ucommon::Cipher::Key::iosize" ref="ad4e776d0c9253d6eada83a0203f292eb" args="(void)" --> size_t </td><td class="memItemRight" valign="bottom"><b>iosize</b> (void)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab861d04f29a28c380d36de431de772af"></a><!-- doxytag: member="ucommon::Cipher::Key::Key" ref="ab861d04f29a28c380d36de431de772af" args="(const char *cipher, const char *digest)" --> </td><td class="memItemRight" valign="bottom"><b>Key</b> (const char *cipher, const char *digest)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18e859187afd3d4e5bbc41b6eb5b076b"></a><!-- doxytag: member="ucommon::Cipher::Key::Key" ref="a18e859187afd3d4e5bbc41b6eb5b076b" args="(const char *cipher, const char *digest, const char *text, size_t size=0, const unsigned char *salt=NULL, unsigned rounds=1)" --> </td><td class="memItemRight" valign="bottom"><b>Key</b> (const char *cipher, const char *digest, const char *text, size_t size=0, const unsigned char *salt=NULL, unsigned rounds=1)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89d4d4fed504b7721f15eae78a54bf6b"></a><!-- doxytag: member="ucommon::Cipher::Key::operator bool" ref="a89d4d4fed504b7721f15eae78a54bf6b" args="()" --> </td><td class="memItemRight" valign="bottom"><b>operator bool</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7afd5b00ab979a85ab923c2c68f47d0e"></a><!-- doxytag: member="ucommon::Cipher::Key::operator!" ref="a7afd5b00ab979a85ab923c2c68f47d0e" args="()" --> bool </td><td class="memItemRight" valign="bottom"><b>operator!</b> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6097ed36ce9bb29a2239938b3f794b44"></a><!-- doxytag: member="ucommon::Cipher::Key::operator=" ref="a6097ed36ce9bb29a2239938b3f794b44" args="(const char *pass)" --> <a class="el" href="a00035.html">Key</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const char *pass)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af721de106b23abc8896325417de6a695"></a><!-- doxytag: member="ucommon::Cipher::Key::size" ref="af721de106b23abc8896325417de6a695" args="(void)" --> size_t </td><td class="memItemRight" valign="bottom"><b>size</b> (void)</td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc9244173e787f0bbfc20679cf1480ee"></a><!-- doxytag: member="ucommon::Cipher::Key::options" ref="abc9244173e787f0bbfc20679cf1480ee" args="(const unsigned char *salt=NULL, unsigned rounds=1)" --> static void </td><td class="memItemRight" valign="bottom"><b>options</b> (const unsigned char *salt=NULL, unsigned rounds=1)</td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa34ec7932dd1a9da2b118da0a6a871b4"></a><!-- doxytag: member="ucommon::Cipher::Key::assign" ref="aa34ec7932dd1a9da2b118da0a6a871b4" args="(const char *key, size_t size, const unsigned char *salt, unsigned rounds)" --> void </td><td class="memItemRight" valign="bottom"><b>assign</b> (const char *key, size_t size, const unsigned char *salt, unsigned rounds)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40bb0f10291e852ae36281cb11bb8dc3"></a><!-- doxytag: member="ucommon::Cipher::Key::Key" ref="a40bb0f10291e852ae36281cb11bb8dc3" args="(const char *cipher)" --> </td><td class="memItemRight" valign="bottom"><b>Key</b> (const char *cipher)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2653247ea803edf04962079363ecb271"></a><!-- doxytag: member="ucommon::Cipher::Key::set" ref="a2653247ea803edf04962079363ecb271" args="(const char *cipher, const char *digest)" --> void </td><td class="memItemRight" valign="bottom"><b>set</b> (const char *cipher, const char *digest)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9496cadc6cfac0271d2d4a052c5a8f53"></a><!-- doxytag: member="ucommon::Cipher::Key::set" ref="a9496cadc6cfac0271d2d4a052c5a8f53" args="(const char *cipher)" --> void </td><td class="memItemRight" valign="bottom"><b>set</b> (const char *cipher)</td></tr> <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" ><a class="anchor" id="a4d9934522fb54f06012693491555c774"></a><!-- doxytag: member="ucommon::Cipher::Key::@3" ref="a4d9934522fb54f06012693491555c774" args="" --> union {</td></tr> <tr><td class="memItemLeft" > int <b>algoid</b></td></tr> <tr><td class="memItemLeft" > const void * <b>algotype</b></td></tr> <tr><td class="memItemLeft" valign="top">}; </td><td class="memItemRight" valign="bottom"></td></tr> <tr><td class="memItemLeft" ><a class="anchor" id="ab514da77d62d9438fc0fb7356e25d2a2"></a><!-- doxytag: member="ucommon::Cipher::Key::@5" ref="ab514da77d62d9438fc0fb7356e25d2a2" args="" --> union {</td></tr> <tr><td class="memItemLeft" > int <b>hashid</b></td></tr> <tr><td class="memItemLeft" > const void * <b>hashtype</b></td></tr> <tr><td class="memItemLeft" valign="top">}; </td><td class="memItemRight" valign="bottom"></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6daee606a69c5e01e4660460c9241496"></a><!-- doxytag: member="ucommon::Cipher::Key::blksize" ref="a6daee606a69c5e01e4660460c9241496" args="" --> size_t </td><td class="memItemRight" valign="bottom"><b>blksize</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a080877455db2d9daa53d03067b6c4d38"></a><!-- doxytag: member="ucommon::Cipher::Key::ivbuf" ref="a080877455db2d9daa53d03067b6c4d38" args="[512/8]" --> unsigned char </td><td class="memItemRight" valign="bottom"><b>ivbuf</b> [512/8]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0296aa1ce08e002aa0cc08d415b38d41"></a><!-- doxytag: member="ucommon::Cipher::Key::keybuf" ref="a0296aa1ce08e002aa0cc08d415b38d41" args="[512/8]" --> unsigned char </td><td class="memItemRight" valign="bottom"><b>keybuf</b> [512/8]</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a116e40ab9def8997daea7aa315e0f7"></a><!-- doxytag: member="ucommon::Cipher::Key::keysize" ref="a4a116e40ab9def8997daea7aa315e0f7" args="" --> size_t </td><td class="memItemRight" valign="bottom"><b>keysize</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0afe6e339c166482bb2c6a1bf5ecef8"></a><!-- doxytag: member="ucommon::Cipher::Key::modeid" ref="af0afe6e339c166482bb2c6a1bf5ecef8" args="" --> int </td><td class="memItemRight" valign="bottom"><b>modeid</b></td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afde0d3fe6a698aef7be7160f4afe8110"></a><!-- doxytag: member="ucommon::Cipher::Key::Cipher" ref="afde0d3fe6a698aef7be7160f4afe8110" args="" --> class </td><td class="memItemRight" valign="bottom"><b>Cipher</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="a00034.html" title="A generic data ciphering class.">Cipher</a> key formed by hash algorithm. </p> <p>This can generate both a key and iv table based on the algorithms used and required. Normally it is used from a pass-phrase, though any block of data may be supplied. </p> <dl class="author"><dt><b>Author:</b></dt><dd>David Sugar <<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>> </dd></dl> <p>Definition at line <a class="el" href="a00196_source.html#l00275">275</a> of file <a class="el" href="a00196_source.html">secure.h</a>.</p> <hr/>The documentation for this class was generated from the following file:<ul> <li>ucommon/<a class="el" href="a00196_source.html">secure.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:31 2011 for ucommon by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>