Skip to main content

Fast and Portable Cryptography Extension Library for Pyrogram

Project description

TgCrypto2

Fast and Portable Cryptography Extension Library for Pyrogram

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

Requirements

  • Python 3.7 or higher.

Installation

$ pip3 install -U tgcrypto2

API

TgCrypto2 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 tgcrypto2

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 = tgcrypto2.ige256_encrypt(data, key, iv)
ige_decrypted = tgcrypto2.ige256_decrypt(ige_encrypted, key, iv)

print(data == ige_decrypted)  # True

CTR Mode (single chunk)

import os

import tgcrypto2

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 = tgcrypto2.ctr256_encrypt(data, key, enc_iv, bytes(1))
ctr_decrypted = tgcrypto2.ctr256_decrypt(ctr_encrypted, key, dec_iv, bytes(1))

print(data == ctr_decrypted)  # True

CTR Mode (stream)

import os
from io import BytesIO

import tgcrypto2

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(tgcrypto2.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(tgcrypto2.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 tgcrypto2

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 = tgcrypto2.cbc256_encrypt(data, key, enc_iv)
cbc_decrypted = tgcrypto2.cbc256_decrypt(cbc_encrypted, key, dec_iv)

print(data == cbc_decrypted)  # True

Testing

  1. Clone this repository: git clone https://github.com/tboy1337/tgcrypto2.
  2. Enter the directory: cd tgcrypto2.
  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

If you're not sure about the file name format, learn more about wheel file names.

tgcrypto2-1.3.2-cp313-cp313-win_amd64.whl (37.1 kB view details)

Uploaded CPython 3.13Windows x86-64

tgcrypto2-1.3.2-cp313-cp313-win32.whl (36.5 kB view details)

Uploaded CPython 3.13Windows x86

tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_i686.whl (49.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

tgcrypto2-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.8 kB view details)

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

tgcrypto2-1.3.2-cp313-cp313-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl (35.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_universal2.whl (50.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.2-cp312-cp312-win_amd64.whl (37.1 kB view details)

Uploaded CPython 3.12Windows x86-64

tgcrypto2-1.3.2-cp312-cp312-win32.whl (36.5 kB view details)

Uploaded CPython 3.12Windows x86

tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_i686.whl (49.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

tgcrypto2-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.8 kB view details)

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

tgcrypto2-1.3.2-cp312-cp312-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl (35.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_universal2.whl (50.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.2-cp311-cp311-win_amd64.whl (37.1 kB view details)

Uploaded CPython 3.11Windows x86-64

tgcrypto2-1.3.2-cp311-cp311-win32.whl (36.5 kB view details)

Uploaded CPython 3.11Windows x86

tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl (52.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_i686.whl (50.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

tgcrypto2-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (52.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (52.2 kB view details)

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

tgcrypto2-1.3.2-cp311-cp311-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl (35.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_universal2.whl (50.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.2-cp310-cp310-win_amd64.whl (37.1 kB view details)

Uploaded CPython 3.10Windows x86-64

tgcrypto2-1.3.2-cp310-cp310-win32.whl (36.5 kB view details)

Uploaded CPython 3.10Windows x86

tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl (51.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_i686.whl (49.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

tgcrypto2-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.4 kB view details)

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

tgcrypto2-1.3.2-cp310-cp310-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl (35.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_universal2.whl (50.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

tgcrypto2-1.3.2-cp39-cp39-win_amd64.whl (37.1 kB view details)

Uploaded CPython 3.9Windows x86-64

tgcrypto2-1.3.2-cp39-cp39-win32.whl (36.5 kB view details)

Uploaded CPython 3.9Windows x86

tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_x86_64.whl (51.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_i686.whl (49.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

tgcrypto2-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tgcrypto2-1.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (51.3 kB view details)

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

tgcrypto2-1.3.2-cp39-cp39-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl (35.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_universal2.whl (50.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3921c1451702db28c162dfdacddb943341604ad65aa9fcbb64e71a488b75b9e7
MD5 095a518365f0f0b44ecdb701af4ae4a1
BLAKE2b-256 40203d4bfe278c38470e77e18d4a0e0fdf24969cd619aa1ab354312af51393c0

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 2a6f831bdd2cb241c5a5579b6735620c1654a5ff4a094b7a36b775f8350803b1
MD5 7b7977653535b8243131920e777b7c57
BLAKE2b-256 a8f31106c415590f1c666e1fd43a30de451901c8ecc4a2c78a92f6c7eb30be7e

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0777710e412e3e09e71ea6de30fcf2494198274b462d1214444c69a843acdae5
MD5 4d3a67767ecc97a949184c2cbb41aaee
BLAKE2b-256 73a97da5d895a235bfeb0b14719d8b8eee21bc8c874d76d7be05b5bb20043add

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 10fbd25e03dbefe4f5da4cdc6f9e03783f3d14cfcb92adec2f8e46b8686f29e6
MD5 f87d898245ba760a2631488dc6ec5554
BLAKE2b-256 95052bb4aa6ca76df319518f54bd565e8d3dc411b03611ecce2abbae340b7618

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14cb0db73a27b7f55fa01cc114fd6b0bc9113f94da516ffdf42bc2d35b1234f3
MD5 ddf5a665b7e5f22ad5a0c069661b7c98
BLAKE2b-256 c60019f23bb85a8ba34fb7948b7cc15ae5b47145eabf9a10c9a260ecc63257f6

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 253ea293913fefc8c0b4b480518d4d71b3c2bf7a84e4ea7b30c01c3a83dfa2f3
MD5 407d1026eb6840e388c3e201c56d1f49
BLAKE2b-256 1dc672b8d0123f951cf3f36da865ddd577810960f7068132016c619892a59337

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 932379aca8a072f16f95dcffc9a11a3aa616bcc46394f721b80597d26aa46b7b
MD5 6adf3c54c229ef72f0186b440566a146
BLAKE2b-256 6cf0339ddd498238ba73c457adbd7ba9eda74c8b2f58a8c6871b3683bfc418a0

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 59ab977ddf3e0da60c02ccf3d64148373e803db40399c788e922b350642bb654
MD5 45480152fe6df573bf0fd9210191f6bc
BLAKE2b-256 0bc0530d1c8723e95acacd2b0b7c69d7b0adc2d51dc8abcb97b863fc4cd7a55e

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 57904ccab24a93f58fea1bed1c2666f68ff1b6c9d740efab8921cd878bc4f23e
MD5 c9ed13d1ad4bd5188217f85cf8b84c1f
BLAKE2b-256 9342669ecf12f90e554455fc6b1c95a86de9cfb55eeb8bb1464abf48a05dd63b

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e4049dea370863c7877fed59744269bd6733086b8e1a870a0f73c0ffe4be4a14
MD5 7b3e487d7eb3c00b8f8a378b7f4f758a
BLAKE2b-256 8cb40c6213f50188afb54d33b4885ee805bd22f66fc76156a0f5479619693b95

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1ee3c09add8ea18874782f38b7ca1dac23be3818353616e916c5f5bfacdbbd0d
MD5 e3e69b8b1bf8509a89dc24f70dad96b6
BLAKE2b-256 0ab8c8548aa02bdb8d65aad24219ed7a1a7fa1a62e14bde8d8d3be32f18b4e32

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c3fe0811e46bef961b59fb2d3e7cfb211de593cad9493570f270f3a69837d9e8
MD5 821b9445b244a31707e13f829d093807
BLAKE2b-256 ea9506b215b82a6a9aa29ce6f9f542d5675209af442a70f9bceebb6232d27b70

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1b6a130babd8d722a14cc57cbcef9a5b1d073456ca5f4a94c000b093b76d8e01
MD5 57b8a2904294c96395b602cef491a7e5
BLAKE2b-256 bffaedfd6bd063abcda578d71eb7c15d85b5ae1e49a0a6b4fd36c6a444cf0136

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aafd6cafec9c2d9467876a231bae8d2aa5765304ad7361c77054b01dd0e5f65f
MD5 5c12086f6c9b587d354b6276a2037202
BLAKE2b-256 87313c75b168a7012565eada88f9b2ebefc7469057d50002bc1ec9d0459913e8

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8787678245dfe29ce4a233fdb1cbce0caf41879a8bf25c0fab10e5292e751bc0
MD5 b23eae29ed882689c08d3f74e31d5982
BLAKE2b-256 0bc2ecfb02221203f010a4d36e0eb271258f7228e1a191b721789667885530f3

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cd9353f35e3475ae2b3b4982fa10ca9a4486e7b1bf08ee92605ebec125d0d3a
MD5 8fe376a62c07fbca4045f2d38d0f558e
BLAKE2b-256 c6de5e2d700f79b49aa2d826c18288fbaa4a3a753e1ce9109e66de8c081086e3

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fc15dc7889fbdd37260e57efa49a77d74deed0413a519d33d0bcd6030c9923ea
MD5 db6f6f7a3f3347ebac7d67176569816a
BLAKE2b-256 91d975eb57386d1483f9f85161e280348fbc2f44e8813a098904de89f5a01e72

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 aced83f450d8060f4916bacc7703c8f88f461b164b89d80ed06b124912bbc224
MD5 1086bf4cec3787df9c83b88a7ad60ad7
BLAKE2b-256 3c37e248ec73bc997c010778a3beeb0fa2c10e694ba6ce68647319d461c62db3

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bff8266e47214a4f5e273c71119765336230421ff771edbde122abb33fb92dc5
MD5 edaed27e1ecf002e3f278ed04d17c1cd
BLAKE2b-256 5d47eb72fe45dedd49b192c5a553b2cfff321b7dfcafab97df89f3034a38f138

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 e9136218438684cd31e2db1c4e43680ea95e3339efb284023a5435f178f67824
MD5 440bece136a68eaebd17ea2ffa062974
BLAKE2b-256 e2ea09e728cc03606e39d459275bc00cbacd5491d0da2ae73a5a5189bf24a493

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a2829c371905e7a41a695ccc630feb9b96d81e8d11062bd334cdf67783cda7a
MD5 9f595e02c6ff3832866d35ce6beb9688
BLAKE2b-256 412dffb820fe2749b458dd33da2061647d34ea6c26868c2e01de95f5bdcfb0c1

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 420333eb9b40700c7d3496bcb858b4547ec9643ffe929a73e03113a88c5e7694
MD5 b184a0e93b7d376edc97d9847a40b1e1
BLAKE2b-256 dc6a3236df78f97f468ae11ad879bfd89408b6584219a69dca048a4c5e026925

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c61c1609ab34e7382ccf5964310d623d86a3cd6904fb629cc015ee58da6fbda
MD5 556ffbf3a9ea46393dea37a4e2c14bb2
BLAKE2b-256 9727a3e81dd29fb38f8138b616d80e6aa1b88172c1b68cfbbf84a59676783de1

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c7d799dd1be65533e8444270404e140e2bfac17bba91ce645818a274973b4e8c
MD5 023771a026a9de33cc2e137a114e34cd
BLAKE2b-256 0d390033dc325154ecf729caa3ba421f42e1e85241ac9bebe293ba4c1636b5ce

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d991fdb5f472cc4ef1602327b23bda7d995292755e09ef2959cf95d8ad5a0b74
MD5 ad9ca3eebaac47a60c830c7634fe0b54
BLAKE2b-256 2f02b14f46fc8de9ab427216c021e47e7bc4e9f926ecb3c637e524cb8fec16d7

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4dedb915aeaf21b2785049dc7e226815fb59a4cfcbb3e8ee12496feafc7e98f
MD5 3364f4050b4c5db95a9a1a40a06feb2a
BLAKE2b-256 9e9cf550e2caa9bdd8c499b0e333c30ba3dfccd94365fbe919973611f59c5d04

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 860b5b4e57a6cd3cff1d5a701ddf9075fa2e4863f0956e0d0f141a77b3f60e4d
MD5 f7aab32fd0d6330b1c0c39276122d1ca
BLAKE2b-256 e3424bc325469f45d61a6bb1d5c466363217b1f68b4d181fc7cc69f0ed79c577

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aec6d7ab919420c8101dca5c7369f78e8dbca78238ab239b45fd2ac2a4f49d2b
MD5 0bc94075c5863076fede5c00438761b4
BLAKE2b-256 e51702352a147d6ca96cd77f5df3844d9d513ef9dc450d346c2c8fc809caa4f1

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2d552b917e18acd9c1b1f7b0d905b5f5ffb185c7666c7ccd1e45d213d626f00e
MD5 b4006c2dc8d757c9b4390bbbd7691361
BLAKE2b-256 51d3b5fc24ca9155963307c66f9f41e201ff3985631d5e45bdafe02666df1931

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e9a91d5c03b9a7c100215490fc7c9221c7964d05effaebf93db717915474c7a6
MD5 b39929bd26cdbf9a855fb669c7dec388
BLAKE2b-256 ec4754ca21b98f6f641da223a19f053c3547dc80e5496f8eb3fc4aa4c7150422

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3ad7524d7642349f78e0f96352b7513778d0f0f577430404d67c4b165e658e86
MD5 c49ea67030491ecdd147cbeb2ffa6223
BLAKE2b-256 7bd00b5044f7e94ffa6b48a0ceddb9f17b5ef6a618b24db582a27e1e6fe976ce

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19fd167d619aef820aac5072ba011781f2955b44d913fc06c59228f27d4045a5
MD5 2fc6410154e623b2d036f0f3ca2de3be
BLAKE2b-256 8a97d6bcf127c55b61a7f769fc4d7d603195fcc22eedb029cebf5ed5278fddeb

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e35207897bb94f7be682dd7165f611200598358e00919944306f82c611cb622a
MD5 d5c1eaa0c79af917c7b3c8ddeb511920
BLAKE2b-256 5ba700e9231158d686b0d7fefd83b1e9eabab98558110e43645af8bd9fd8d75b

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a26801c47b33c550c2b8c324fc559adfbfcc31410c69d30db437d489fce5d0b6
MD5 c730c35310de4fbc6c06fdc4deaa8790
BLAKE2b-256 9670e73386a5ce8d4842058d22b2d69053f69d31fe9ccd869a6add7f780e4ec4

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fe8a9be153d3c970d39217fd57e7863480bf7300241b0f1a303a77f6e2927937
MD5 2c6fd4bb2e1b08d1a3ecc4379e3ccb20
BLAKE2b-256 3265a2b337525606633f26fe83c72378f9fb50109d298b634e1c783aebcebfe4

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6a5fd28126348f60b398f86c1342dff679b7227d7f9f94eba38822d076c7d295
MD5 faedc8db6b573c775208c48feece5428
BLAKE2b-256 5492297353abe0bd9a8f1643d6b1326ef4022878e23159453104d1b8942e0663

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4872c5861b54079385d5d418b8f1d249cebd1ebef0317a63d7be2c106f427bbd
MD5 94a096b4898d4a891467b8b5008f8b78
BLAKE2b-256 1d661bfa0db56c3c6a9ae0ec067394cb290a4f2dac7cd78448557180a33c6630

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: tgcrypto2-1.3.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 1838924a26c78f841ba72f27667a02050f6f5c5a60803fbbe6e34c3704c8d166
MD5 e9aa55976a9a1e2809430187034d8ed1
BLAKE2b-256 f025ea3803c06f3a85094cc49a39bdc846baf3f0f48339d9b4888c97b362860e

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 23b8af7adb5e7a19adb68c6f20ad4f2a56d812bda274d37d3e7faa952000b27e
MD5 c504887e84570b1a108a7d15b5fd4716
BLAKE2b-256 0ade32d512f137463f12dad15a43352ec921ea609511f43d1aa2caae6227ff23

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d6c573f8ea08580a1ca47089e64a733ff549e1b7e44ae7cd424aace831e2fd7b
MD5 f9a9e9c1d52a1299cfe6c224eed2f9d0
BLAKE2b-256 e268ea7d7d7a25ec9bab6cc42d64f5021b7cca3d245cf96a32ccfb8a9f92a2ca

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b0b2339de24a329266e6966c0842d1a3b9f72f5131152cfeaf9398e3ea6b4ee
MD5 1e54a68440d3e9e19cfc06b725bbfe0d
BLAKE2b-256 a4c555d37030c8850280ebaf04b197982660c9854a50daafd115c7002d650046

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 25ddedf9687c03b50fb415b8274194f212003f2624fe8140780d1d5989035f38
MD5 4559edaf26262d356d1911bba7fca850
BLAKE2b-256 63a5682ee28791d0595fcd2ab7b7682de8e476b4f23564af96fea1cabbb7ed73

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14d95007548cc65c9d51c1c5e209c58b73400db7c107d92023647c081bdf7bee
MD5 a6a3f758371cad0881d870e14291ce21
BLAKE2b-256 a10a37a85de868690373006a6c1b1c3a4bfb3735aaef1f9143a8f5131479325b

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d333b0ca871f8a113e862897610ae242b4f1dab1614bc4ead786d1e5ccb963ee
MD5 8c946e5650d69baae61e65e3c77f81a6
BLAKE2b-256 104c69b4c93a7b7ce3736513e870e842b197aa3ae12b5eabcb1e1afe5137512d

See more details on using hashes here.

File details

Details for the file tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tgcrypto2-1.3.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ce523ce384555a2c47defe93a01ef7994f23daba536fa3efd51f30b502356168
MD5 125545e0cbb5b93f44ee738997fc95f0
BLAKE2b-256 7a9dc97f603da9bafd7ad7ee8206339eeaf7312dec412173dddfffa3d0bf2dc8

See more details on using hashes here.

Supported by

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