summaryrefslogtreecommitdiff
path: root/old/api/2.6/Crypto.Hash.hashalgo.HashAlgo-class.html
diff options
context:
space:
mode:
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.html429
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>&nbsp;&nbsp;&nbsp;<a
+ href="Crypto-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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&nbsp;Crypto</a> ::
+ <a href="Crypto.Hash-module.html">Package&nbsp;Hash</a> ::
+ <a href="Crypto.Hash.hashalgo-module.html" onclick="show_private();">Module&nbsp;hashalgo</a> ::
+ Class&nbsp;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
+ >]&nbsp;|&nbsp;<a href="Crypto.Hash.hashalgo.HashAlgo-class.html"
+ target="_top">no&nbsp;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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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 (&quot;clone&quot;) 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">&nbsp;</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">&nbsp;</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"
+ >&nbsp;
+ </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"
+ >&nbsp;
+ </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">&gt;&gt;&gt; </span>m.update(a); m.update(b)</pre>
+</blockquote>
+<p>is equivalent to:</p>
+<blockquote>
+<pre class="py-doctest">
+<span class="py-prompt">&gt;&gt;&gt; </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"
+ >&nbsp;
+ </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"
+ >&nbsp;
+ </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"
+ >&nbsp;
+ </td>
+ </tr></table>
+
+ <p>Return a copy (&quot;clone&quot;) 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"
+ >&nbsp;
+ </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>&nbsp;&nbsp;&nbsp;<a
+ href="Crypto-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</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>