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.4-cp313-cp313-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

tgcrypto2-1.3.4-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.4-cp313-cp313-musllinux_1_2_i686.whl (49.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

tgcrypto2-1.3.4-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.4-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.4-cp313-cp313-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tgcrypto2-1.3.4-cp313-cp313-macosx_10_13_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tgcrypto2-1.3.4-cp313-cp313-macosx_10_13_universal2.whl (50.8 kB view details)

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

tgcrypto2-1.3.4-cp312-cp312-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

tgcrypto2-1.3.4-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.4-cp312-cp312-musllinux_1_2_i686.whl (49.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

tgcrypto2-1.3.4-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.4-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.4-cp312-cp312-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tgcrypto2-1.3.4-cp312-cp312-macosx_10_13_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tgcrypto2-1.3.4-cp312-cp312-macosx_10_13_universal2.whl (50.8 kB view details)

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

tgcrypto2-1.3.4-cp311-cp311-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

tgcrypto2-1.3.4-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.4-cp311-cp311-musllinux_1_2_i686.whl (50.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

tgcrypto2-1.3.4-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.4-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.4-cp311-cp311-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tgcrypto2-1.3.4-cp311-cp311-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tgcrypto2-1.3.4-cp311-cp311-macosx_10_9_universal2.whl (50.8 kB view details)

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

tgcrypto2-1.3.4-cp310-cp310-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

tgcrypto2-1.3.4-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.4-cp310-cp310-musllinux_1_2_i686.whl (49.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

tgcrypto2-1.3.4-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.4-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.4-cp310-cp310-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tgcrypto2-1.3.4-cp310-cp310-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tgcrypto2-1.3.4-cp310-cp310-macosx_10_9_universal2.whl (50.8 kB view details)

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

tgcrypto2-1.3.4-cp39-cp39-win_amd64.whl (37.2 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

tgcrypto2-1.3.4-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.4-cp39-cp39-musllinux_1_2_i686.whl (49.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

tgcrypto2-1.3.4-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.4-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.4-cp39-cp39-macosx_11_0_arm64.whl (35.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tgcrypto2-1.3.4-cp39-cp39-macosx_10_9_x86_64.whl (35.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

tgcrypto2-1.3.4-cp39-cp39-macosx_10_9_universal2.whl (50.8 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c26c165701a5d296ca16c85b9ea63521df1b25a1541b8dc9148986b50da18079
MD5 8d0795b8f4b20f43cdbbc0fad296b866
BLAKE2b-256 d4ce3210a42b4b5b37988bc80f3c99c7547c028aa14582b7c2f62c2ced098797

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgcrypto2-1.3.4-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.7

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 489f34f07a5caeb74dd2cb77e1bdf350b4134bacb77e285c46936279abf3cf2c
MD5 2d76faddc9dc3ae4f98c7aeac89d0c27
BLAKE2b-256 13902af8ed8271882f4129cdca2f4391965cb5b9b5bbb37b58c0a992fa22d2f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e5b5d1e4267ad06a10ab31eeb6d29b1025db73dc6fdf1268997544ee41eac4f1
MD5 ae807953677be1354bc48ce0c7eed377
BLAKE2b-256 01128ac46c04488db8c4e320a82da6e1f4b8e74878eedb7821e54c32190ca3be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5ed71db7b0f284b5166bcd462834a4a99f6bcacbb5cf14b33814008ac4674212
MD5 1738bf98958d77775a730e44d9326e0d
BLAKE2b-256 37ed01e370ec2656d4cbe5bb803be8f45cc1e45596c3fcc00ca7feb7a99bb5e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb9b4f2975b8190f9b35ea3ef082c3f8509b936ae2a730c55170b48d2049696d
MD5 9708ffadf49f5a8e387b4c9a9e82623e
BLAKE2b-256 0b8b8e5f52f20e70929b2cbad982608e009097f533287de48943b873237727e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 46e70fc2baab078f2d65167d19a022e4e7c07d2e460cc7a748666dd362aeb32b
MD5 78a706e702aae5b7b7052758e4ab80c6
BLAKE2b-256 d26aa78e38f8d162106a5f2683e0805d39296bd5b3ea96358ae26b830c4880ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e0be6677dd4321ff71870330e7c832293ff33eacdcc26d6abb690519889fb16
MD5 6a930d0fb2001d3ba426dc6fae04cc1f
BLAKE2b-256 a07e3b7ea5c6bf4f8f4aac2f312e2a35587cd21ad33f8e2df73807324f9be3ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b0cf463d5d3721c77314c035efb74f4db2f7b40df492b9dd4b97754176220474
MD5 5f4a3f300cca5dca78bcc7c406aa15ff
BLAKE2b-256 366fe3e9992e9832d30f333b28b4956bcfaf8f39d98eb0e23eff85a097100ec1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3f1642f318d0a616f1ef66b0018dc9e5547832bb6e0cfa3b5204c4b654d35f0b
MD5 0e69b1f69a1a793b022068a3e4e59238
BLAKE2b-256 f01f44cf138dcf496e488d7fef21ae9b544644afa5b1fda33e50eef02f4fe8ce

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6e92d60e8dddb27f2553cbc34d72d125923f0f62c8a6c3451dc4053c082d3310
MD5 83e034ef3f7c9612d664ce7fc825d6ca
BLAKE2b-256 312e9f4682c2f37077c306d585abe6e9f5964a32d2dbed2c4c5d856fea1fb01e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgcrypto2-1.3.4-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.7

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 c97c9a517247cf4a0b63947378ddef0800081ad24687d6690f5f581e065fa285
MD5 5c8ac85061d9459534746415caf91f93
BLAKE2b-256 dec17e6635395731d51dcb395150e3c7e1475788a1e0542b7ef368e32c38b56b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c19fd5f6de279dd8c45408515534ec7158a9172e4c86c8025a995d83881fea7d
MD5 94abde643f78bdaff1d7b947f283ce62
BLAKE2b-256 53f834ba4eeeb80338eeede3f3f52f8a2e69f9e250b61cb5d00e32d2f2ceea1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 66a35eb889852cdae5ad852cc1e837b282f4f0a16560c683c35045219afdc878
MD5 25d60028584e7848b6761aca97a08c18
BLAKE2b-256 5bc3fc1c1acf740bcdb6d9fbf02b3333606b977fcf9f752ed82125f89acd21dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 066569d7c1e43b103fdfb7a035db5d1b8f6ded7b77da7e856dec900a64bb3bef
MD5 5d555ed4b2a6d1fe8ed5435a8ebe64c5
BLAKE2b-256 3420a4687358075e8248c5271a00418cd566c02661df9b04e7b8999dbbe5c116

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 759654dc62180e63df4411cbf1e3584acba576d3250275b37c329fdb42fcf2cb
MD5 3d180290db8c7f9cce4bba8990c14118
BLAKE2b-256 8cf64aab6c442a7b6d82fec43aa96b961ec80921ef12d103b4fae05659fd8f44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01119513c65e33196116baa6900b6cf348d10212e6579480607326b8ee8132b6
MD5 fc3e88a6b6ffbc36a49362d601797589
BLAKE2b-256 050ddfbf5fb7717762e1e479a15f105bc0b4fd161cdbd70be431ba68138ee160

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7c40aa42fdc5ea9d3386decb2954fddfefdc657b170f2ccb754864ecea8c3b20
MD5 64c85fa4245e69ee8a2b7daa6778a700
BLAKE2b-256 9ba652c61d0ba34c05c2e6702777c4a6934fc837eab8c4793a1de715624ec15c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b8062a4fe58ae4225e116fa1c6b9d15877e4facac082659607d0fc043e8c8c7d
MD5 4c5a0b17674130ed205debbb4d1578b0
BLAKE2b-256 8c0e31d518b8b330d76ac07f7c444d1b33ce108754835bcd30510b0d3676fb41

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 60d7a4616093a8169e55f29cf5c252fd0ec93504d2b11926743b043113bbf0fd
MD5 a5d0eabf13b2fb320345148f577c7acf
BLAKE2b-256 bd1a439ca4bcae0f45758126aa1b2143a74115b8066b7b9f5cb083fbd3183658

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgcrypto2-1.3.4-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.7

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 685b14fc83e7f2267aca599a11545cabb3f376cc66c9f4195f21b6f53483a4b6
MD5 2c218de623ac334f72e730384eb88484
BLAKE2b-256 d44a82b88497a7468d004c4badde77c93323653c6310054c4cdbef03e3b0e9cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 508feb9b6f4c3e2d58836c82ae72f085ce1f1344e5f2cd7ac804413dc4966cf4
MD5 14faef92191a0483acd0e95538118180
BLAKE2b-256 ffcb0e730cdc8dd07ca7bd8d8080baa4d891747378f82fb31f303781fc1f31c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f9d44c57152db7024425e6e51245cbe65776f56b6e0d48ebd7ec38c25f29ddbd
MD5 197f1c02225c0c1d8c4e53fe20b22a48
BLAKE2b-256 f5ae389c9dfa714d95074b8e51df7718621037711d4ee9f9d2a4ca2a477155b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a56448e139950015aa7d6da8b9163978332cfbf8a35d029dc5a366639a137a56
MD5 107cb0d4da8c634aa06cf3770ea46168
BLAKE2b-256 579a2f933ee090ac5ebc657ffcaa1bd76a688136077f2fe6f16eba54ed123580

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9436612d02f824868c403d6622266b2c6286dec59c5d624e7c090e0c47776722
MD5 559705c1c08f24f536458ba991b3958d
BLAKE2b-256 d41ab872c655d4d03e75b401687fe43beed941a06f142060a3c13b1e94af4095

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a323ed05c2d0dc08de861a515af635777c7019b47f6f49c857ea297ee1bb384e
MD5 327ced0335adf9a6b26baeebd93f25f3
BLAKE2b-256 0edc6e5cdf32bcbb0ec2879407a02467a46ba7684d1c563e6086fa84e5ffa282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a4f0b00cd8f702cd96ff26f15d9d7376581e381660a49afb5c23c7f4b67a21c
MD5 a4055fbdbc790613b9d1ca358c135065
BLAKE2b-256 1e6811dc6841c6f0a3815d5365756462cf5ba5e3593da42f73600dbf2995405c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3d9239ab3b8e6d97dce90b5fbcc1b99f995da21105b0f89a56a2c3ba1e62171b
MD5 f4ac0efcf9f0a835c1ce42aa933c6f00
BLAKE2b-256 ca0b41de6246414d56ee351620cfa4622285cfdbf99b7629d9dc77ad9593c2b2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3cfa919e525b2225ac2261e82be10c0623d48a8b11fac8a50dd5481cf77dbded
MD5 c133c297d2c183c86c09db5f24ab0121
BLAKE2b-256 affcb8567a1df1b9659f246591e51767f01dd1cc94672d57ac13fb0d894d1ca7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgcrypto2-1.3.4-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.7

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a826f81bd9f1f2068e5ab8908c1ad18e64feddf667ba6b6d1918b25c5534b4fb
MD5 9eb6603a18825d35ef2aa291a170dc0e
BLAKE2b-256 2d3a62fa93f01241e5707d7e92bea301892a93f0bfe4cc0f01826472dae2616a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 415b2722babb36815e97c9a29347bab71c7e2e1f3b5285cce18154b505ef851f
MD5 67ec08ebb25d8949e8242d5a0a9cd66b
BLAKE2b-256 03786a8183ca1788e5c1b5fa10ac8d7d266348f27b2653e2b8bc9c4574364c30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 151e90d7b55d017f108a55ee3e2236b7ffea4abc9c7c1d36488f233407ed08a9
MD5 a089f557cad481bfab782d1f0e7244c0
BLAKE2b-256 9e4eeb56c084514ba9082cd3e93d215e0c309988fa9287711a5c06334fb9f0ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 628ebee988fa6616ce1e00446128bbf2acf31f7a1b0ea0a1902dc75f20a5de22
MD5 364ab63544abe8d539fa9e7e36962f1b
BLAKE2b-256 6bd0d89cd25549ddf378b84fe76d46b99468597c4b4333679541790567f1f026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 80df098bce32f07c629da19e1a1da5ab41e9282cc9004df16a2eda5b92d9125a
MD5 a009d2b44d7a8849be1abd4f43a29986
BLAKE2b-256 f8d3891f0bd0031836a86efbb4532b001066d8669c7c7e4b588a1b5b40aa15a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 196da0c7da710bbe239854046715ff0df2a0e094388ebccca533a573406a9749
MD5 ee3631b512dbb7340fdd8671ee282827
BLAKE2b-256 9ee31e33164baf83fe712d23a920079f0e8c61111a1fe6c5a6c31cc7c7111838

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf5041492059faa2b1bcc7363446539e5a221ad5149f07635c36b611c8cecab1
MD5 4d70f913492b7738ab4c8a7ad3577f3a
BLAKE2b-256 1d265e12f8c8a05f8173a690270635b12df7fb66d98130b8691128dd40a6f3a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b365619a605ab44154dbaa9f4b637e6b14ed628294fa8cc127c74e479a5a0b72
MD5 c6a8fbda814aab9f54622c99e4f571ae
BLAKE2b-256 a7cbed635a8cea5e13881795d998eadd7749294320ec28d6d40111cb89258e72

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 edb9f869f08ce51d4358ac16d82b4384181b399ae415083ce5c48e81a417d658
MD5 544e853c8aabd92d5d067d1eb254c296
BLAKE2b-256 f88046a8c27bd2e00ab138faa8ddd13f9c528670ce6a484feeced96c35d77614

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgcrypto2-1.3.4-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.7

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 55a336a105779b5e19c84d66f1504bc8b5dcdf5948978fdeedceac7f9af3e088
MD5 eeb2e3cfd9acdde1402a76ae85cf91f8
BLAKE2b-256 8f20fcef85e0c3c170b266e23828d858e0d6e60b89ccbaff1429950f7f186fff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0faa7a7ff07154b23efa710cc4371c4bf578ab99202ea63b434686f70856a581
MD5 2716966777907eb61a3848c57419c0e8
BLAKE2b-256 fc221c2b758316bfdf43facd24054c387c3ba0347d2b0e43d6d60591d056a55b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7ded6cf06c4b43450859f0119bb984623581ddbd73e15d9b45acf4d3dad7666b
MD5 6d95b8c7a38bb649a0ed5b23f4537af1
BLAKE2b-256 a77fdddf801cc3fa866239b45cfc3e5e31655d31b0bafa3c8837026c2634b231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f8695f50b117114095195571a73aaccd3f885f49628ecec6467e658c32acbe1
MD5 6f92da1d9dcf21c2aa642dbb0eb274db
BLAKE2b-256 e98c6025e4f8c8a613462f953f2794c8df0a4afdd4ccb82522d19498aa55da9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 19f7b5c6aacf5181d35d543f2fa33272b096dc3e21eb2a325adaf1c21664335b
MD5 a89a31d27c6989d66364e509bcd200f1
BLAKE2b-256 0844d042b4fd22004b86abe3266fe2c1d7c747d5deca4b81a788761dde26eee2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6a603703c44463067ef050ff91131a013f38405ff3384f6076fa98bbd8800f0
MD5 17a7cd971e4c67f754a098a64261db9b
BLAKE2b-256 977aa0396a46011010c091e6d8df0f0ec0ff55145e0d8ccf93e1b5387a4be95b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6503d39ac3213b4e3c879bbb9c564573cc6402c11864c7c8f0172e3577ed5544
MD5 5054c9ade7a186f9561338157643b352
BLAKE2b-256 e9f6cfc07edd9e0a6489151b012c82ee2ce04230edc6b13800cc578fe006f980

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tgcrypto2-1.3.4-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7128039af91185d72c91fd0d5c49a945ef220734e2747bf159a1a4935dce129c
MD5 c099db3f0c953ec0a40cae4be1a26b14
BLAKE2b-256 40d3462ff26df43f4ae67565d2c2424e250e07610b34b91f729a682f027fdb7c

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