about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py')
-rw-r--r--.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py b/.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py
new file mode 100644
index 00000000..348887f0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/ellipticcurve/utils/binary.py
@@ -0,0 +1,37 @@
+from base64 import b64encode, b64decode
+from .compatibility import safeHexFromBinary, safeBinaryFromHex, toString
+
+
+def hexFromInt(number):
+    hexadecimal = "{0:x}".format(number)
+    if len(hexadecimal) % 2 == 1:
+        hexadecimal = "0" + hexadecimal
+    return hexadecimal
+
+
+def intFromHex(hexadecimal):
+    return int(hexadecimal, 16)
+
+
+def hexFromByteString(byteString):
+    return safeHexFromBinary(byteString)
+
+
+def byteStringFromHex(hexadecimal):
+    return safeBinaryFromHex(hexadecimal)
+
+
+def numberFromByteString(byteString):
+    return intFromHex(hexFromByteString(byteString))
+
+
+def base64FromByteString(byteString):
+    return toString(b64encode(byteString))
+
+
+def byteStringFromBase64(base64String):
+    return b64decode(base64String)
+
+
+def bitsFromHex(hexadecimal):
+    return format(intFromHex(hexadecimal), 'b').zfill(4 * len(hexadecimal))