Skip to main content

Fast and Portable Cryptography Extension Library for Pyrogram

Project description

TeleCrypto

[!NOTE] The project is now longer maintained or supported. Thanks for appreciating it.

[!NOTE] The implementations of the algorithms presented in this repository are to be considered for educational purposes only.

Fast and Portable Cryptography Extension Library for Pyrogram

TeleCrypto is a Cryptography Library written in C as a Python extension. It is designed to be portable, fast, easy to install and use. TgCrypto is intended for Pyrolink and implements the cryptographic algorithms Telegram requires, namely:

Requirements

  • Python 3.7 or higher.

Installation

$ pip3 install -U telecrypto

API

TeleCrypto API consists of these six methods:

def ige256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def ige256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...

def ctr256_encrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...
def ctr256_decrypt(data: bytes, key: bytes, iv: bytes, state: bytes) -> bytes: ...

def cbc256_encrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...
def cbc256_decrypt(data: bytes, key: bytes, iv: bytes) -> bytes: ...

Usage

IGE Mode

Note: Data must be padded to match a multiple of the block size (16 bytes).

import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key
iv = os.urandom(32)  # Random IV

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

ige_encrypted = tgcrypto.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto.ige256_decrypt(ige_encrypted, key, iv)

print(data == ige_decrypted)  # True

CTR Mode (single chunk)

import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024)  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

ctr_encrypted = tgcrypto.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))

print(data == ctr_decrypted)  # True

CTR Mode (stream)

import os
from io import BytesIO

import tgcrypto

data = BytesIO(os.urandom(10 * 1024 * 1024))  # 10 MB of random data

key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

enc_state = bytes(1)  # Encryption state, starts from 0
dec_state = bytes(1)  # Decryption state, starts from 0

encrypted_data = BytesIO()  # Encrypted data buffer
decrypted_data = BytesIO()  # Decrypted data buffer

while True:
    chunk = data.read(1024)

    if not chunk:
        break

    # Write 1K encrypted bytes into the encrypted data buffer
    encrypted_data.write(tgcrypto.ctr256_encrypt(chunk, key, enc_iv, enc_state))

# Reset position. We need to read it now
encrypted_data.seek(0)

while True:
    chunk = encrypted_data.read(1024)

    if not chunk:
        break

    # Write 1K decrypted bytes into the decrypted data buffer
    decrypted_data.write(tgcrypto.ctr256_decrypt(chunk, key, dec_iv, dec_state))

print(data.getvalue() == decrypted_data.getvalue())  # True

CBC Mode

Note: Data must be padded to match a multiple of the block size (16 bytes).

import os

import tgcrypto

data = os.urandom(10 * 1024 * 1024 + 7)  # 10 MB of random data + 7 bytes to show padding
key = os.urandom(32)  # Random Key

enc_iv = bytearray(os.urandom(16))  # Random IV
dec_iv = enc_iv.copy()  # Keep a copy for decryption

# Pad with zeroes: -7 % 16 = 9
data += bytes(-len(data) % 16)

cbc_encrypted = tgcrypto.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto.cbc256_decrypt(cbc_encrypted, key, dec_iv)

print(data == cbc_decrypted)  # True

Testing

  1. Clone this repository: git clone https://github.com/venombolteop/telecrypto.
  2. Enter the directory: cd tgcrypto.
  3. Install tox: pip3 install tox
  4. Run tests: tox.

License

LGPLv3+ © 2017-present Dan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (43.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (43.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (43.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (44.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_x86_64.whl (60.1 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_i686.whl (58.4 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.3 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (60.0 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_x86_64.whl (60.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_i686.whl (58.4 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (60.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_x86_64.whl (60.4 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_i686.whl (58.8 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (60.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_x86_64.whl (59.6 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_i686.whl (58.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (59.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_x86_64.whl (59.4 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_i686.whl (57.8 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (59.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_x86_64.whl (59.4 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_i686.whl (57.8 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (60.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_x86_64.whl (60.6 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_i686.whl (59.0 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

Telecrypto-1.2.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (61.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

Telecrypto-1.2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (61.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

File details

Details for the file Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84ab5bc97ca497a8d38791e5302486ff4d64002d0d30f10ee5b3078099c6b67b
MD5 2a51c2600aada4f2687ed8c0b719a78f
BLAKE2b-256 2d7810afa48ebd55eb22ad6723c164ce6bb19126f94a1addf21b17f7ecd08772

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 109a3f697a381b4e0f9f0bddcc22e59744424628b015976319d1b8dd00b287ba
MD5 c091f5581c3ab3bd0b28bfa5902d02d7
BLAKE2b-256 a25c63cffef28e2835a93915e48b27321278b2f3c4d7421cb82baf78eac722fd

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b19f384e5f6d70e0a1817ac82663f342f9c883dba06738f4efde351aa05f4c4b
MD5 64e76ab562ce98f37761dee4255bcae5
BLAKE2b-256 256d4d26c57fd6a5710a88e7ad674816229b1e5e8cfc7b72c6be7d9934ff3706

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4dddff4a685b7b9216c6e83c2e3a637772ba5ae2d25162b0834adee6b186c6bc
MD5 31a0c428f35150a22400b0fb3193bb7e
BLAKE2b-256 cb0ff09d4895a8ce6e49fe6ef5241b53e45e2558bf8409a773f5e7880e210396

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3da8365d7d4b65d637f09bec734f02851efc1c29a27e6f33679e09afb0436733
MD5 373f940e7bc867400a049aeaf00e95b8
BLAKE2b-256 2371cac382f8ee5e4b763849850deab238361fbc3b187bfd3413f641435d547b

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ebca029e5a0395429f107d33fcc5389c140a9e5cee78f8e62f8b146ae068dd02
MD5 77d0a253a9cd0117bfe7885739dae52d
BLAKE2b-256 500a8a20cfef48123c446b1325531ad637e8dfebcdef83f3f59071d77e09c28d

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81de704f0a391ef0bf78caa20b70f36865caae8fd13aad9829c34faf74a36977
MD5 d402ae7489a82517660fa2b9b55c98a5
BLAKE2b-256 a15f38a01d2aaaac425fb5d000355324a3dc46177a36fc7a0bb2b2a5cf9d42c6

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e2cca8d6f804b0b1e0b1a680d9bc630989f9da25d5d455a06b369507e0d3cc70
MD5 ac5ca284fb69c45ffcd6fb16e8bea0de
BLAKE2b-256 84e62f0bf7180c1f0dc6e2386599c4e9cf2281911fa4c729791f75c30865d006

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec5e1eb558d454d4aad63a385987b56c9ac5798790c2c76d0ce492c82f4cbb99
MD5 3bfefa7c0287f0a485bbf1286748e572
BLAKE2b-256 441dcafce2ff9d069f1daf3e409ba9933fde9b1d454ae95e802e9a70f6b37a10

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 daed77d266ca4690ad4469ae3a295a008e71c4fedb27fc8dcad8efadbf45734b
MD5 615fa65c23369d7c3f6c2a4a60f137d1
BLAKE2b-256 256ab48b117b7fa3ea82cbffcda54233223b40f27b02f124de8937f354a34131

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c518528f8db7434b6f121e18a5a4a2fc390a8e41c5acc6f4edbb618fd6bcd7f4
MD5 f5d56341147edca33ff2d708487af1c6
BLAKE2b-256 6c4382d54e352fbdfec11e6b714d44e2f7b30caa018b819dcbc7e9f2532f328f

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fb982f73b4b686ea4a1b11faef99d152d0f8c59244d147541e70746f9008a42f
MD5 f4b8537ff37bf1d8c1402866bc9abe44
BLAKE2b-256 80f57036b381a6be77d97081e319736aab79fefd8233c6c42acf256afb27cb8e

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cce16dd860f9f5a98950f7855b2039551b5d20885e88d8560fcbed627280fdd6
MD5 5a60668234813690a4538550754692c1
BLAKE2b-256 57448afcb2d5c1e099ca4062de153ba69e8f87fb91dfc6b43fea09c3e9ce1631

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 030f6f57a5adffe1df555ec54b792fa29ea5e5093793b8bd11b6fef2c38f965b
MD5 c8a063de2744846051fa6370fd6a3d4b
BLAKE2b-256 98dc4ce8c85568cd825140f5ff9c82d1fa96180ed03a58509c66c5897a208d71

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1666c2cd889120ee9dda844b29ff09bbf09ae993178f17eab2749bbe09c2f6b
MD5 21a72d3f7c0f96e92b498b03807627ac
BLAKE2b-256 b66687eb358f80308a46a6c20eb4913acaf3025d7d4d0e98d2a8bc3067596330

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0e44a376ce70ca3626832a80ad9613c40d32ca2184fff843216c3464eafdfbf1
MD5 644b97bdc3c0fd0886c44fdb8907e5cf
BLAKE2b-256 5be2ba9921c819b71ff75a346b895140dd8b6cda545a010c45406bc56d4b908c

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb4865f1103dd47d427ede799fdf69e8d894d70dc0b9f4df756bc6125a85893c
MD5 da0b241006e8cb4f4b0155df99a6296e
BLAKE2b-256 8b6546b60f0c1f75b638ca277d621aa88d65d8baa5449bc89c522d84de414436

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f9f391ae8edeaa61331b51079a17dc6a249ffc447d7d615b18a7cebfddc9438
MD5 dcd9704dfd45b92059849454a059f059
BLAKE2b-256 7e919460f8e338a4ebd1238d2b64228d924eab434f94a8cdeb36173f579ebc5d

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc169cd91edbb7aa401f2600c9df18a8c9a22d953e7a562919af177a940a3c5c
MD5 118d694ed34615ab6e35fa0b08aaf7ee
BLAKE2b-256 f80606d7839bee7e404cafea99c249759e7cd65777ac9e8847d219060316df48

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 17e08146f0f875f41b2d33b952e30012f2cea923a2b0082eaa01497a9dabdfd4
MD5 653bace8601b778d389845db5389d61c
BLAKE2b-256 bbf151fe34e99eca75ff6a336f53e722375283b9388a86c2234a79321cb5e8bb

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e4aeba5d8827a7e91a2db694bacdb5af7e693061f1cdb144f64e98b4b7a1f65
MD5 c35461f280cf1d0d9cf782ff09cf2f47
BLAKE2b-256 0e40de1dcae086b6aeb7d3564627c9e30907d70b339f842f78638044ba7d785c

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 12c64807001c5dfdda1e5e4b89769f712491f783772dbffb1d2a6acee5529505
MD5 a6f8b73e6df98d2206d1d04fdde339d4
BLAKE2b-256 6f5a3b38b2baed9811648fc044dd6d5150edbfab897b0dc0f6c7dd7419c6cc7f

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1cfb6d274b46aae466d888ee574fe94e0ea7bf1bab7d8ca4f54bf6e4f1a3d69
MD5 f0fb5bb197f2af01a90e37bab91bf894
BLAKE2b-256 d566f2b1e2b8161a695789dae4345992875fc888ced582723699a7a4cdad3e00

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 647111bb96184663b2bd520a6c94e8928e9dbfb2934bc52eeb7c3b7f93074f15
MD5 9ceffb97040fde41e14c8d43986c3f80
BLAKE2b-256 27c4b8623ab659306cf2d035b527335b15732c7619c5daa13bd9ea6d03a2e8ab

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7cb459d70b3b89a78eb1232ff69a5bd67fa6c448438aff047d323e27da12850a
MD5 96b5b5ab46ba16063b786f1f014c6813
BLAKE2b-256 c9586c91a3dc19674927c9359860d199406c341e99a944e3755e1d61501a44a3

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f17b2e58852ff5a039b0609e65859ccda6f4bae0c70352db6c98e388ade2977
MD5 9717c27ba9ad84c35ebc718ff6dab0a4
BLAKE2b-256 797db873cfa895a59c1e6b356aac3780e6c1ede38100b57259405bcb78f20fbb

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 330ec2e31b77adfb706c96e84e9165331c9dbb4dfcd0ad169f298e8e1254a9ac
MD5 31692780e4282fe5d36b24eb3c02ad80
BLAKE2b-256 043a0ed829f1e6d39f1f3cda7673ac7fb017842301df82512736242b7c4ab51f

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 75fb1280aa1c6e93cf97b8e39f00ad0e1e400633134c93eab268b5801aa18f83
MD5 01b575942a164db603cd217d6160856c
BLAKE2b-256 7bd07b180373458d5a3eee2de300494b42372ed01f6622dafb7f7935e96c526e

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddfae282210124fa7e473c93ffc2ee8e96b3047b2a18e9fc5046a37830881025
MD5 2d1aaba88c2d9f25772e6694285fde62
BLAKE2b-256 96721062e4b7e3384cafe6be6a8a7d474ea11f64edab5e3aaf5009d734035fce

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 17faded086f7e375e9cf2f39904382012645815cf4e0bc4f07233957b1cae9b4
MD5 c744fba3978d67f441f228b421c74a35
BLAKE2b-256 e9a6ef86f542badff12de79c0c68f75ad6ed2d9674c2b21c8b974a90923640c2

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 020bdf87aca28b3c6da7a21409640bddc64e40e9c6201d1bda2b4dff719d9486
MD5 b5de355d6aab357ec48e1c3c96c5b61c
BLAKE2b-256 3782b64fc377b498d42a9445b813de11d8f2ca43cfeaa653d959847b027ceb90

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 003e958531f2ab4994d9c1957bb0cfa6e3162782f3b4a3b31f819dd8fcda28f4
MD5 4df033a6c2a32ed087d14e920bd0eb83
BLAKE2b-256 aca0bd11966bba304f232be3ad8c97ed0f1b7f941febcb2394badb8c70425b0f

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddcd059fd302e3678de72593e25959d5462fe7cbc9ea54bc0c1dffc12a8e22c0
MD5 b950e4defb8c3f44c66bcff00ddcc690
BLAKE2b-256 8dcf4c2572d6b09339f8ad67c6d41cfff8317d20682c0bc7a02fcecff99ad39a

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a66c92941fa645cb566c23ae3e335c0021270b01d9e98ce82ca36f48a4bce55e
MD5 3ff525e3e30942ae73122b0da30af3ba
BLAKE2b-256 2d58ad8c835e82dcc9fbc33e209d6c21954dd8e2ff7d8e9fd92a83669660cc46

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a91047f0a923323f06fe5984fc84bd95773078e1eedb118c334fe13d81ca0ef
MD5 d468b250a1c34ac9f498105cf8f5d21e
BLAKE2b-256 b44690da7eb6066c63d705f041812373458a4ac277a375b93e28f5bfd55f80af

See more details on using hashes here.

File details

Details for the file Telecrypto-1.2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for Telecrypto-1.2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3f4598f42256ab479ccb02b28e2fd1cbdae3dee8da9c81197befb2858f18b5e6
MD5 de4802c2fe5b4aed0b60896f1f60cd8b
BLAKE2b-256 32a2e9f42590a0e58dc3d31ad375ea190ff53a4ad22569e8386239f3d1fdf3ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page