Index: third_party/google-endpoints/Crypto/Hash/__init__.py |
diff --git a/third_party/google-endpoints/Crypto/Hash/__init__.py b/third_party/google-endpoints/Crypto/Hash/__init__.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4582c663df933a0104310e538aa341c6c1040188 |
--- /dev/null |
+++ b/third_party/google-endpoints/Crypto/Hash/__init__.py |
@@ -0,0 +1,56 @@ |
+# -*- coding: utf-8 -*- |
+# |
+# =================================================================== |
+# The contents of this file are dedicated to the public domain. To |
+# the extent that dedication to the public domain is not available, |
+# everyone is granted a worldwide, perpetual, royalty-free, |
+# non-exclusive license to exercise all rights associated with the |
+# contents of this file for any purpose whatsoever. |
+# No rights are reserved. |
+# |
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
+# SOFTWARE. |
+# =================================================================== |
+ |
+"""Hashing algorithms |
+ |
+Hash functions take arbitrary binary strings as input, and produce a random-like output |
+of fixed size that is dependent on the input; it should be practically infeasible |
+to derive the original input data given only the hash function's |
+output. In other words, the hash function is *one-way*. |
+ |
+It should also not be practically feasible to find a second piece of data |
+(a *second pre-image*) whose hash is the same as the original message |
+(*weak collision resistance*). |
+ |
+Finally, it should not be feasible to find two arbitrary messages with the |
+same hash (*strong collision resistance*). |
+ |
+The output of the hash function is called the *digest* of the input message. |
+In general, the security of a hash function is related to the length of the |
+digest. If the digest is *n* bits long, its security level is roughly comparable |
+to the the one offered by an *n/2* bit encryption algorithm. |
+ |
+Hash functions can be used simply as a integrity check, or, in |
+association with a public-key algorithm, can be used to implement |
+digital signatures. |
+ |
+The hashing modules here all support the interface described in `PEP |
+247`_ , "API for Cryptographic Hash Functions". |
+ |
+.. _`PEP 247` : http://www.python.org/dev/peps/pep-0247/ |
+ |
+:undocumented: _MD2, _MD4, _RIPEMD160, _SHA224, _SHA256, _SHA384, _SHA512 |
+""" |
+ |
+__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD', 'SHA', |
+ 'SHA224', 'SHA256', 'SHA384', 'SHA512'] |
+__revision__ = "$Id$" |
+ |
+ |