diff options
Diffstat (limited to 'old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html')
-rw-r--r-- | old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html b/old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html new file mode 100644 index 0000000..b23aa09 --- /dev/null +++ b/old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html @@ -0,0 +1,429 @@ +<?xml version="1.0" encoding="ascii"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>Crypto.Hash.hashalgo.HashAlgo</title> + <link rel="stylesheet" href="epydoc.css" type="text/css" /> + <script type="text/javascript" src="epydoc.js"></script> +</head> + +<body bgcolor="white" text="black" link="blue" vlink="#204080" + alink="#204080"> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="Crypto-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <!-- Project homepage --> + <th class="navbar" align="right" width="100%"> + <table border="0" cellpadding="0" cellspacing="0"> + <tr><th class="navbar" align="center" + ><a href="http://www.pycrypto.org/">PyCrypto.org</a></th> + </tr></table></th> + </tr> +</table> +<table width="100%" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="100%"> + <span class="breadcrumbs"> + <a href="Crypto-module.html">Package Crypto</a> :: + <a href="Crypto.Hash-module.html">Package Hash</a> :: + <a href="Crypto.Hash.hashalgo-module.html" onclick="show_private();">Module hashalgo</a> :: + Class HashAlgo + </span> + </td> + <td> + <table cellpadding="0" cellspacing="0"> + <!-- hide/show private --> + <tr><td align="right"><span class="options" + >[<a href="frames.html" target="_top">frames</a + >] | <a href="Crypto.Hash.hashalgo.HashAlgo-class.html" + target="_top">no frames</a>]</span></td></tr> + </table> + </td> + </tr> +</table> +<!-- ==================== CLASS DESCRIPTION ==================== --> +<h1 class="epydoc">Class HashAlgo</h1><p class="nomargin-top"></p> +<dl><dt>Known Subclasses:</dt> +<dd> + <ul class="subclass-list"> +<li><a href="Crypto.Hash.SHA.SHA1Hash-class.html">SHA.SHA1Hash</a></li><li>, <a href="Crypto.Hash.SHA256.SHA256Hash-class.html">SHA256.SHA256Hash</a></li><li>, <a href="Crypto.Hash.MD2.MD2Hash-class.html">MD2.MD2Hash</a></li><li>, <a href="Crypto.Hash.SHA224.SHA224Hash-class.html">SHA224.SHA224Hash</a></li><li>, <a href="Crypto.Hash.MD4.MD4Hash-class.html">MD4.MD4Hash</a></li><li>, <a href="Crypto.Hash.RIPEMD.RIPEMD160Hash-class.html">RIPEMD.RIPEMD160Hash</a></li><li>, <a href="Crypto.Hash.SHA384.SHA384Hash-class.html">SHA384.SHA384Hash</a></li><li>, <a href="Crypto.Hash.SHA512.SHA512Hash-class.html">SHA512.SHA512Hash</a></li><li>, <a href="Crypto.Hash.MD5.MD5Hash-class.html">MD5.MD5Hash</a></li> </ul> +</dd></dl> + +<hr /> +A generic class for an abstract cryptographic hash algorithm. + +<!-- ==================== INSTANCE METHODS ==================== --> +<a name="section-InstanceMethods"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Instance Methods</span></td> +</tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">hashFactory</span>, + <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br /> + Initialize the hash object.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">data</span>)</span><br /> + Continue hashing of a message by consuming the next chunk of data.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#digest" class="summary-sig-name">digest</a>(<span class="summary-sig-arg">self</span>)</span><br /> + Return the <strong>binary</strong> (non-printable) digest of the message that has been hashed so far.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#hexdigest" class="summary-sig-name">hexdigest</a>(<span class="summary-sig-arg">self</span>)</span><br /> + Return the <strong>printable</strong> digest of the message that has been hashed so far.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#copy" class="summary-sig-name">copy</a>(<span class="summary-sig-arg">self</span>)</span><br /> + Return a copy ("clone") of the hash object.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + <td><span class="summary-sig"><a href="Crypto.Hash.hashalgo.HashAlgo-class.html#new" class="summary-sig-name">new</a>(<span class="summary-sig-arg">self</span>, + <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br /> + Return a fresh instance of the hash object.</td> + <td align="right" valign="top"> + + + </td> + </tr> + </table> + + </td> + </tr> +</table> +<!-- ==================== CLASS VARIABLES ==================== --> +<a name="section-ClassVariables"></a> +<table class="summary" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Class Variables</span></td> +</tr> +<tr> + <td width="15%" align="right" valign="top" class="summary"> + <span class="summary-type"> </span> + </td><td class="summary"> + <a name="digest_size"></a><span class="summary-name">digest_size</span> = <code title="None">None</code><br /> + The size of the resulting hash in bytes. + </td> + </tr> +</table> +<!-- ==================== METHOD DETAILS ==================== --> +<a name="section-MethodDetails"></a> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr bgcolor="#70b0f0" class="table-header"> + <td align="left" colspan="2" class="table-header"> + <span class="table-header">Method Details</span></td> +</tr> +</table> +<a name="__init__"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">hashFactory</span>, + <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span> + <br /><em class="fname">(Constructor)</em> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + Initialize the hash object. + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>hashFactory</code></strong> (callable) - An object that will generate the actual hash implementation. +<em>hashFactory</em> must have a <em>new()</em> method, or must be directly +callable.</li> + <li><strong class="pname"><code>data</code></strong> (byte string) - The very first chunk of the message to hash. +It is equivalent to an early call to <a href="Crypto.Hash.hashalgo.HashAlgo-class.html#update" class="link">update()</a>.</li> + </ul></dd> + </dl> +</td></tr></table> +</div> +<a name="update"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">data</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Continue hashing of a message by consuming the next chunk of data.</p> +<p>Repeated calls are equivalent to a single call with the concatenation +of all the arguments. In other words:</p> +<blockquote> +<pre class="py-doctest"> +<span class="py-prompt">>>> </span>m.update(a); m.update(b)</pre> +</blockquote> +<p>is equivalent to:</p> +<blockquote> +<pre class="py-doctest"> +<span class="py-prompt">>>> </span>m.update(a+b)</pre> +</blockquote> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>data</code></strong> (byte string) - The next chunk of the message being hashed.</li> + </ul></dd> + </dl> +</td></tr></table> +</div> +<a name="digest"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">digest</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Return the <strong>binary</strong> (non-printable) digest of the message that has been hashed so far.</p> +<p>This method does not change the state of the hash object. +You can continue updating the object after calling this function.</p> + <dl class="fields"> + <dt>Returns:</dt> + <dd>A byte string of <a href="Crypto.Hash.hashalgo.HashAlgo-class.html#digest_size" class="link">digest_size</a> bytes. It may contain non-ASCII +characters, including null bytes.</dd> + </dl> +</td></tr></table> +</div> +<a name="hexdigest"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">hexdigest</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Return the <strong>printable</strong> digest of the message that has been hashed so far.</p> +<p>This method does not change the state of the hash object.</p> + <dl class="fields"> + <dt>Returns:</dt> + <dd>A string of 2* <a href="Crypto.Hash.hashalgo.HashAlgo-class.html#digest_size" class="link">digest_size</a> characters. It contains only +hexadecimal ASCII digits.</dd> + </dl> +</td></tr></table> +</div> +<a name="copy"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>(<span class="sig-arg">self</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Return a copy ("clone") of the hash object.</p> +<p>The copy will have the same internal state as the original hash +object. +This can be used to efficiently compute the digests of strings that +share a common initial substring.</p> + <dl class="fields"> + <dt>Returns:</dt> + <dd>A hash object of the same type</dd> + </dl> +</td></tr></table> +</div> +<a name="new"></a> +<div> +<table class="details" border="1" cellpadding="3" + cellspacing="0" width="100%" bgcolor="white"> +<tr><td> + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr valign="top"><td> + <h3 class="epydoc"><span class="sig"><span class="sig-name">new</span>(<span class="sig-arg">self</span>, + <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span> + </h3> + </td><td align="right" valign="top" + > + </td> + </tr></table> + + <p>Return a fresh instance of the hash object.</p> +<p>Unlike the <a href="Crypto.Hash.hashalgo.HashAlgo-class.html#copy" class="link">copy</a> method, the internal state of the object is empty.</p> + <dl class="fields"> + <dt>Parameters:</dt> + <dd><ul class="nomargin-top"> + <li><strong class="pname"><code>data</code></strong> (byte string) - The next chunk of the message being hashed.</li> + </ul></dd> + <dt>Returns:</dt> + <dd>A hash object of the same type</dd> + </dl> +</td></tr></table> +</div> +<br /> +<!-- ==================== NAVIGATION BAR ==================== --> +<table class="navbar" border="0" width="100%" cellpadding="0" + bgcolor="#a0c0ff" cellspacing="0"> + <tr valign="middle"> + <!-- Home link --> + <th> <a + href="Crypto-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </th> + + <!-- Project homepage --> + <th class="navbar" align="right" width="100%"> + <table border="0" cellpadding="0" cellspacing="0"> + <tr><th class="navbar" align="center" + ><a href="http://www.pycrypto.org/">PyCrypto.org</a></th> + </tr></table></th> + </tr> +</table> +<table border="0" cellpadding="0" cellspacing="0" width="100%%"> + <tr> + <td align="left" class="footer"> + Generated by Epydoc 3.0.1 on Thu May 24 09:02:37 2012 + </td> + <td align="right" class="footer"> + <a target="mainFrame" href="http://epydoc.sourceforge.net" + >http://epydoc.sourceforge.net</a> + </td> + </tr> +</table> + +<script type="text/javascript"> + <!-- + // Private objects are initially displayed (because if + // javascript is turned off then we want them to be + // visible); but by default, we want to hide them. So hide + // them unless we have a cookie that says to show them. + checkCookie(); + // --> +</script> +</body> +</html> |