summaryrefslogtreecommitdiffstatshomepage
path: root/docs/library/uhashlib.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/library/uhashlib.rst')
-rw-r--r--docs/library/uhashlib.rst37
1 files changed, 37 insertions, 0 deletions
diff --git a/docs/library/uhashlib.rst b/docs/library/uhashlib.rst
new file mode 100644
index 0000000000..708e3d7bc9
--- /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.