From d96a9164052a86927ddd2a5b39a8d5a357f01fc3 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Tue, 2 Dec 2014 00:52:41 +0200
Subject: [PATCH] docs: Add quick docs for uhashlib.

---
 docs/library/index.rst    |  1 +
 docs/library/uhashlib.rst | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 docs/library/uhashlib.rst

diff --git a/docs/library/index.rst b/docs/library/index.rst
index 81cae65a7..aba69d28b 100644
--- a/docs/library/index.rst
+++ b/docs/library/index.rst
@@ -38,6 +38,7 @@ it will fallback to loading the built-in ``ujson`` module.
 .. toctree::
    :maxdepth: 1
 
+   uhashlib.rst
    uheapq.rst
    ujson.rst
    usocket.rst
diff --git a/docs/library/uhashlib.rst b/docs/library/uhashlib.rst
new file mode 100644
index 000000000..708e3d7bc
--- /dev/null
+++ b/docs/library/uhashlib.rst
@@ -0,0 +1,37 @@
+:mod:`uhashlib` -- hashing algorithm
+====================================
+
+.. module:: uhashlib
+   :synopsis: hashing algorithm
+
+This module implements binary data hashing algorithms. Currently, it
+implements SHA256 algorithm. Choosing SHA256 was a deliberate choice,
+as a modern, cryptographically secure algorithm. This means that a
+single algorithm can cover both usecases of "any hash algorithm" and
+security-related usage, and thus save space omitting legacy algorithms
+like MD5 or SHA1.
+
+Constructors
+------------
+
+.. class:: uhashlib.sha256([data])
+
+   Create a hasher object and optionally feed ``data`` into it.
+
+
+Methods
+-------
+
+.. method:: sha256.update(data)
+
+   Feed more binary data into hash.
+
+.. method:: sha256.digest()
+
+   Return hash for all data passed thru hash, as a bytes object. After this
+   method is called, more data cannot be fed into hash any longer.
+
+.. method:: sha256.hexdigest()
+
+   This method is NOT implemented. Use ``ubinascii.hexlify(sha256.digest())``
+   to achieve similar effect.
-- 
GitLab